假设我的控制器如下所示:public class myController { private MyCustomItem acte; ... // getter and setter}和MyCustomItem类具有另一个类的Set,就像这样public class MyCustomItem { private Set<AnotherClass> signataires; ... // getter and setter}最后,AnotherClass项目具有一些String属性。我想要做的是,从链接到我的控制器的视图中,在提交表单时设置那些String属性,因此我这样写view.jsp:<!-- some html before --><s:form namespace="/my/namespace" action="MyController_execute"><s:iterator value="acte.signataires" status="signaStatus"> <s:hidden name="id" value="%{id}" /> <s:property value="collectivite.nom"/> <s:textfield name="acte.signataires(%{#signaStatus.index}).commentaire" cssStyle="width:250px;"/></s:iterator><s:submit/></s:form>在我提交表单后,如果我尝试从Set acte.signataires中获取一些值,则在控制器中,它们为null:for (AnotherClass signataire : acte.getSignataires()) { System.out.println(signataire.getCommentaire()); // this print NULL}有什么帮助吗?我的jsp映射不好吗?我也尝试了一种非常简单的语法,例如<s:textfield name="commentaire" cssStyle="width:250px;"/>,但它也不起作用 (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 您需要将物业标志作为集合吗?我建议您使用ArrayList,以便可以按索引访问每个元素(signataires [0],signataires [1]等)。然后使用ArrayList可以这样进行:<s:form namespace="/my/namespace" action="MyController_execute"><s:iterator value="acte.signataires" status="signaStatus"> <s:hidden name="id" value="%{id}" /> <s:property value="collectivite.nom"/> <INPUT type="text" name="acte.signataires[<s:property value="%{#signaStatus.index}"/>].commentaire" cssStyle="width:250px;"/></s:iterator><s:submit/></s:form> (adsbygoogle = window.adsbygoogle || []).push({}); 10-04 10:22