gpt4 book ai didi

spring-mvc - Spring mvc <表单:input> tags with some values passed from the calling controller in modelAttribute

转载 作者:行者123 更新时间:2023-12-02 21:58:20 24 4
gpt4 key购买 nike

我正在 Spring MVC 3 中创建 CRUD 应用程序。除了编辑页面之外,一切都工作正常。我希望我的编辑页面中填充一些具有相关数据库生成值的标签,这样我就可以查看、编辑(如果需要)并保存它们。我在 modelAttribute 中传递了值列表以与 edit.jsp 共享。我可以在 edit.jsp 上检索它们的值,但是我无法将这些值放入标记中,因为它没有 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>

最佳答案

form:input 没有 value 属性(正如您所猜测的)。数据绑定(bind)路径只需在路径属性中提及。因此,根据我对您问题的理解,解决方案如下:

您有用户类别:

public class User{
String name;
String age;
//Getter setters..
}

您需要一个命令/模型对象类来保存用户列表,以便可以在 View 中使用(如下所示)

public class Users {
List<User> userList;
//Getter setter..
}

您的 Controller 处理程序方法可能会将用户添加到模型

Users users = getUsers(); // Get them from somewhere(DB) and wrap in Users object
model.addAttribute("users", users);

在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>

关于spring-mvc - Spring mvc <表单:input> tags with some values passed from the calling controller in modelAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17361526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com