如何在SpringMVC中将输入元素绑定到arraylist元素?

如何在SpringMVC中将输入元素绑定到arraylist元素?,spring,jsp,Spring,Jsp,如何在SpringMVC中将输入元素绑定到arraylist元素 视图模型: public class AssigneesViewModel { private int evaluatorId; private int evaluatedId; private String evaluatorName; private String evalueatedName; //getters and setters } 模型属性: public class A

如何在SpringMVC中将输入元素绑定到arraylist元素

视图模型:

public class AssigneesViewModel {

    private int evaluatorId;
    private int evaluatedId;
    private String evaluatorName;
    private String evalueatedName;
    //getters and setters
}
模型属性:

public class AssignEvaluationForm{
   private ArrayList<AssigneesViewModel> options;
   public ArrayList<AssigneesViewModel> getOptions() {
      return options;
   }

   public void setOptions(ArrayList<AssigneesViewModel> options) {
      this.options = options;
   }
}
然后在jsp中,我有4个隐藏输入,它们表示evaluatedId、evaluatorId、evaluatorName、evaluatedName->options[0]的字段。 我将如何编写jsp代码以将这些输入映射到arrayList的一个元素

更新:

<form:form commandName="addAssignment" modelAttribute="addAssignment" id="addAssignment" method="POST">
//..........
     <c:forEach items="${addAssignment.options}" var="option" varStatus="vs">
         <div id="assigneesOptions" >    
             <form:input path="addAssignment.options[${vs.index}].evaluatedId" value="1"></form:input>
         </div>
    </c:forEach>
 //..............
</form:form>

而不是此
addAssignment.options[${vs.index}].evaluatedId

使用此->
选项。evaluatedId


或者您可以使用arraylist get->
${addAssignment.options.get(vs.index).evaluatedId}
,尝试使用${}jstl的调用方括号实现该值。顺便说一句,我不确定最后一个例子是否适用于path=”“属性。

这里有类似的问题。[点击此链接][1][另选此链接][2][1]:[2]:@mizanurrahmanomojumder谢谢你的建议,但我已经实现了相关帖子的答案。我没有得到任何结果例外。我更新了问题。显然我在某个地方犯了一个错误。GET方法的选项数组列表是空的。然后用户添加了一些输入,在POST上我想将这些输入保存为选项[0]。我不确定这是否很清楚。甚至有可能?你评论中的问题与你的主要问题无关。如果要以数组形式发送数据,通常在复选框和单选按钮上使用名称属性name=“options[]”中的。但是在jsp中获取evaluatedId时遇到问题。
<form:form commandName="addAssignment" modelAttribute="addAssignment" id="addAssignment" method="POST">
//..........
     <c:forEach items="${addAssignment.options}" var="option" varStatus="vs">
         <div id="assigneesOptions" >    
             <form:input path="addAssignment.options[${vs.index}].evaluatedId" value="1"></form:input>
         </div>
    </c:forEach>
 //..............
</form:form>
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'options[]' available as request attribute
<form:input path="addAssignment.options[${vs.index}].evaluatedId" value="1"></form:input>