我在Spring MVC 3中创建了CRUD应用程序.除了编辑页面之外,每个东西都工作正常.我希望我的编辑页面中填充了一些带有相关数据库生成值的标签,因此我可以查看,编辑是否需要并保存它们.我传递了modelAttribute中的值列表以与edit.jsp共享.我可以在edit.jsp上检索它们的值,但是我无法将这些值放在tag中,因为它没有value属性.请帮忙.
Sharing the code below----------------------------
enter code here
<form:form id="form5" commandName="user" action="modify.htm">
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<c:forEach items="${userList}" var="user">
<tr>
<td> <form:input path="name" value="${user.name}"/></td>
<td><form:input path="age" value="{user.age}"/></td>
</tr>
</c:forEach>
<tr><td><button type="button" onclick="modify()">Save</button></td></tr>
</table>
</form:form>
Run Code Online (Sandbox Code Playgroud)
form:input没有值属性(正如您猜测的那样).必须仅在path属性中提及数据绑定路径.因此,根据我对您的问题的理解,解决方案如下:
你有用户类:
public class User{
String name;
String age;
//Getter setters..
}
Run Code Online (Sandbox Code Playgroud)
您需要一个命令/模型对象类来保存UserS列表,因此可以在视图中使用(如下所示)
public class Users {
List<User> userList;
//Getter setter..
}
Run Code Online (Sandbox Code Playgroud)
控制器处理程序方法可能会将用户添加到模型中
Users users = getUsers(); // Get them from somewhere(DB) and wrap in Users object
model.addAttribute("users", users);
Run Code Online (Sandbox Code Playgroud)
在jsp中使用如下:
<form:form id="form5" modelAttribute="users" action="modify.htm">
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<c:forEach items="${users.userList}" var="user" varStatus="i">
<tr>
<td><form:input path="userList[${i.index}].name" /></td>
<td<form:input path="userList[${i.index}].age" /></td>
</tr>
</c:forEach>
<tr><td><button type="button" onclick="modify()">Save</button></td></tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14882 次 |
| 最近记录: |