Java 如何在<;中显示属性值;输入>;春季更新时的文本字段?
我正在制作用户详细信息表单。我正在用户表单中注册,它存储在数据库中 现在我想更新同一表单中的用户详细信息。当我将用户对象从DB获取到Jsp时,数据不会显示在文本字段中 我如何实现这种行为。Java 如何在<;中显示属性值;输入>;春季更新时的文本字段?,java,spring,hibernate,jsp,Java,Spring,Hibernate,Jsp,我正在制作用户详细信息表单。我正在用户表单中注册,它存储在数据库中 现在我想更新同一表单中的用户详细信息。当我将用户对象从DB获取到Jsp时,数据不会显示在文本字段中 我如何实现这种行为。 我的示例代码是: <form:form commandName="user" action="saveuser"> <form:input path="userName" placeholder="name"/> </form:form> 我的控制器代码是
我的示例代码是:
<form:form commandName="user" action="saveuser">
<form:input path="userName" placeholder="name"/>
</form:form>
我的控制器代码是:
@Controller
public UserController{
@Reqmap........
public String getUserDetails(@ModelAttribute("user") User user,Map<Strig,Object> model) {
List<User> listUser = some service.getDetails();
//My 1st way
model.put("user",listUser);
//My 2nd Way
user = listUser.get(0);
//above two ways are not worked
return "userform";
}
}
@控制器
公共用户控制器{
@需求图。。。。。。。。
公共字符串getUserDetails(@ModelAttribute(“用户”)用户,映射模型){
List listUser=some service.getDetails();
//我的第一条路
model.put(“用户”,listUser);
//我的第二条路
user=listUser.get(0);
//以上两种方法都不起作用
返回“userform”;
}
}
您没有为输入设置值
属性。试一试
<form:input path="userName" placeholder="name" value="${user.userName}"/>
这是jsp
<form:form commandName="user" action="/your/url">
<form:input path="userName" placeholder="name" value="${user.userName}"/>
</form:form>
如果
User
类有一个userName
属性,这将起作用。如果希望用户对象在表单加载时将值从DB填充到jsp,则需要在控制器中设置该值。例如,确保User.name为某个值。然后使用带有表单属性的User.name绑定。是否有任何错误异常?否。它仅显示带有占位符的表单第一行User=listUser.get(0);然后model.put(“用户”,listUser);稍后在标记中使用modelAttribute=“user”请告诉我如何填充模型。如果您使用第一种方法,您将传递一个列表,而不是用户。你需要知道你在用什么。我建议您执行以下操作:User myUser=loadusermovey()
然后将用户添加到modelmodel.addAttribute(“user”,myUser)代码>我在先前的回答中添加了一些细节。希望能有所帮助。@MaVVamaldo的编辑正是我在回答中提到的。@JsingH实际上我不明白为什么我们被否决了。答案很有道理,解决了问题。这是真的。我在代码中的很多地方都使用过这种技术。
<form:form commandName="user" action="/your/url">
<form:input path="userName" placeholder="name" value="${user.userName}"/>
</form:form>