Vous pouvez lier les paramètres de la requête lorsque la propriété du bean est au format liste avec le code suivant.
<body>
	<form action="/sample/bean" method="post">
		<table>
			<tr>
				<td>Entrée 1:price:</td>
				<td><input type="text" name="sampleBean.childBean[0].price"></td>
				<td>Entrée 1:unit:</td>
				<td><input type="text" name="sampleBean.childBean[0].unit"></td>
			</tr>
			<tr>
				<td>Entrée 2:price:</td>
				<td><input type="text" name="sampleBean.childBean[1].price"></td>
				<td>Entrée 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 est abrégé
public class SampleChildBean {
	private String price;
	private String unit;
}
※getter,setter est abrégé
Dans ce cas, il y a un point sur la façon de définir l'attribut de nom de l'entrée. Si vous expliquez un par un, Explication 1: Nom de l'argument de la cible de liaison spécifiée dans l'argument de la méthode @RequestMapping côté contrôleur Explication 2: spécifiez le nom de propriété défini dans la classe de l'argument à lier. Puisqu'il s'agit d'une liste, spécifiez également le numéro d'index. Explication 3: Enfin, spécifiez la propriété de la classe de propriété spécifiée dans l'explication 2 (déroutant?)
<input type="text" name="sampleBean.childBean[0].price">
Commentaire 1 Commentaire 2 Commentaire 3
C'est bien de l'écrire avant de l'oublier, mais l'explication ne suffit pas. Pensons à une meilleure explication quand on a le temps, lol