色々な入力項目から入力した入力データを送信すると、同一画面上にそれらのデータを出力させられるようなプログラムを作りたいのですが、なかなか上手くいきませんので、こちらに質問させて頂きます。
現在のソースコードだと、入力画面に既に出力結果(初期値)が表示されてしまっております。入力画面では結果や初期に入っているデータを表示させないようにし、送信が押されたタイミングで入力項目の下の方に入力したデータを表示させたいです。
そのようなタグややり方を教えてはいただけないでしょうか?
TestController.java
package group.study.dev.sample.test; import java.util.LinkedHashMap; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class TestController { @ModelAttribute("UM") public SearchForm init() { SearchForm sf = new SearchForm(); sf.setTxt("test"); sf.setRdo1("r1"); sf.setRdo2("B"); return sf; } public void setMap(Model model) { LinkedHashMap<String, String> map = new LinkedHashMap<>(); map.put("A", "その1"); map.put("B", "その2"); model.addAttribute("map", map); } @RequestMapping(value = "/", method = RequestMethod.GET) public String loginGet(Model model) { init(); setMap(model); SearchForm form = new SearchForm(); model.addAttribute(form); return "search/home"; } @RequestMapping(value = "/home", method = RequestMethod.POST) public String loginPost(SearchForm form, Model model) { System.out.println(form.toString()); setMap(model); //System.out.println("modelに登録されているオブジェクトを全て表示"); /* for (Map.Entry<String, Object> e : model.asMap().entrySet()) { System.out.println(e); } */ return "search/home"; } }
SearchForm.java
package group.study.dev.sample.test; public class SearchForm { private String txt; private String area; private String sel1; private String sel2; private boolean chk1; private String chk2; private String rdo1; private String rdo2; private String pass; private String hdn; public String getTxt() { return txt; } public void setTxt(String txt) { this.txt = txt; } public String getArea() { return area; } public void setArea(String area) { this.area = area; } public String getSel1() { return sel1; } public void setSel1(String sel1) { this.sel1 = sel1; } public String getSel2() { return sel2; } public void setSel2(String sel2) { this.sel2 = sel2; } public String getChk2() { return chk2; } public void setChk2(String chk2) { this.chk2 = chk2; } public String getRdo1() { return rdo1; } public void setRdo1(String rdo1) { this.rdo1 = rdo1; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public String getHdn() { return hdn; } public void setHdn(String hdn) { this.hdn = hdn; } public boolean isChk1() { return chk1; } public void setChk1(boolean chk1) { this.chk1 = chk1; } public String getRdo2() { return rdo2; } public void setRdo2(String rdo2) { this.rdo2 = rdo2; } }
home.jsp
<%@page import="group.study.dev.sample.test.SearchModel"%> <%@page import="group.study.dev.sample.test.TestController"%> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>ログイン</title> </head> <body> <spring:url value="/home" var="url" htmlEscape="true" /> <form:form action="${url}" method="POST" modelAttribute="UM"> <form:input path="txt" /> <hr /> <form:textarea path="area" /> <hr /> <form:select path="sel1" items="${map}" /> <hr /> <form:select path="sel2" multiple="true"> <form:option value="op1">オプション</form:option> <form:options items="${map}" /> </form:select> <hr /> <form:checkbox path="chk1" label="チェック" /> <hr /> <form:checkboxes path="chk2" items="${map}" /> <hr /> <form:radiobutton path="rdo1" label="ラジオ1" value="r1" /> <form:radiobutton path="rdo1" label="ラジオ2" value="r2" /> <hr /> <form:radiobuttons path="rdo2" items="${map}" /> <hr /> <form:password path="pass" /> <hr /> <form:hidden path="hdn" /> <BR /> <input type="submit" value="テスト" /> <BR /> <BR /> </form:form> <div><span><c:out value="${searchForm.txt}"/></span></div> <div><span><c:out value="${searchForm.area}"/></span></div> <div><span><c:out value="${searchForm.sel1}"/></span></div> <div><span><c:out value="${searchForm.sel2}"/></span></div> <div><span><c:out value="${searchForm.chk1}"/></span></div> <div><span><c:out value="${searchForm.chk2}"/></span></div> <div><span><c:out value="${searchForm.rdo1}"/></span></div> <div><span><c:out value="${searchForm.rdo2}"/></span></div> <div><span><c:out value="${searchForm.pass}"/></span></div> <div><span><c:out value="${searchForm.hdn}"/></span></div> </body> </html>
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/24 00:54
2020/08/24 01:09
2020/08/24 01:24
2020/08/24 01:36 編集
2020/08/24 01:46
2020/08/24 02:06
2020/08/24 02:44
2020/08/24 04:02
2020/08/24 05:11
2020/08/24 10:44