0

我需要将 List 作为 commandObject 传递。

我的代码

public class Employee 
{       
List<Dept> dlist = new ArrayList<Dept>();    
public List<Dept> getDlist()
    {
return dlist;
}    
public void setDlist(List<Dept> dlList)
    {
this.dlist = dlist;
}       
}

我的jsp页面

<c:forEach var="d" items="${dlist}">
<spring:bind path="dlist[0].projectId">
<input type="text" name="projectId" value='<c:out value="${d.projectId}" />' />
</spring:bind>
</c:forEach>  

但它没有通过,我犯了错误,可以提出任何建议。

4

2 回答 2

2

您将不得不将列表包装在一个类中,这看起来就像您对 Employee 所做的那样?

它应该看起来像这样:

<form:form id="frmEmployee" commandName="myEmployee" action="/Whatever/" method="POST">
    <c:forEach items="${myEmployee.dlist}" var="dept" varStatus="status"><tr>
      <tr><td>
        <form:input path="dlist[status.index].projectId" id="title"/>            
于 2013-04-10T11:56:11.863 回答
2

您的 forEach 循环已损坏,您应该遍历命令对象列表中的元素。

使用表单标签而不是spring:bind 标签

像这样试试

<c:forEach var="d" items="${command.dlist}" varStatus="status">
  <form:input path="dlist[status.index].projectId" />
</c:forEach>
于 2013-04-10T11:56:29.850 回答