Sie können die Anforderungsparameter binden, wenn die Bean-Eigenschaft im Listenformat mit dem folgenden Code vorliegt.
<body>
<form action="/sample/bean" method="post">
<table>
<tr>
<td>Eingabe 1:price:</td>
<td><input type="text" name="sampleBean.childBean[0].price"></td>
<td>Eingabe 1:unit:</td>
<td><input type="text" name="sampleBean.childBean[0].unit"></td>
</tr>
<tr>
<td>Eingabe 2:price:</td>
<td><input type="text" name="sampleBean.childBean[1].price"></td>
<td>Eingabe 2:unit:</td>
<td><input type="text" name="sampleBean.childBean[1].unit"></td>
</tr>
</table>
</form>
</body>
@Controller
public class SampleController {
@RequestMapping(value="/sample/bean", method=RequestMethod.POST)
public String goUserCreateErrorPage(SampleBean sampleBean) {
return "sample";
}
}
public class SampleBean {
private String childBeanUnit;
private List<SampleChildBean> childBean;
}
※getter,Setter wird abgekürzt
public class SampleChildBean {
private String price;
private String unit;
}
※getter,Setter wird abgekürzt
In diesem Fall gibt es einen Punkt zum Definieren des Namensattributs der Eingabe. Wenn Sie eins nach dem anderen erklären, Erläuterung 1: Argumentname des Bindungsziels, das im Argument der @ RequestMapping-Methode auf der Controllerseite angegeben ist Erläuterung 2: Geben Sie den Eigenschaftsnamen an, der in der Klasse des zu bindenden Arguments definiert ist. Da es sich um eine Liste handelt, geben Sie auch die Indexnummer an. Erläuterung 3: Geben Sie abschließend die Eigenschaft der in Erläuterung 2 angegebenen Eigenschaftsklasse an (verwirrend?)
<input type="text" name="sampleBean.childBean[0].price">
Kommentar 1 Kommentar 2 Kommentar 3
Es ist gut, es zu schreiben, bevor ich es vergesse, aber die Erklärung ist nicht gut genug. Überlegen wir uns eine bessere Erklärung, wenn wir Zeit haben, lol
Recommended Posts