我是JSP和Spring的新手。我想在spring表单中使用textbox插入一个userID(U0005),但它正在存储(,U0005)。从哪里插入",“?我写的代码是:
Register.jsp中的/*:*/
<c:url var="addAction" value="/libUsr/add"></c:url>
<form:form action="${addAction}" commandName="libUsr">
<table>
<tr>
<td>
<form:label path="id">
<spring:message text="ID" />
</form:label>
</td>
<td><form:input path="id" required="true" /></td>
</tr>
</table>
</form:form>
/*
In UserController.java:
*/
@RequestMapping(value= "/libUsr/add", method = RequestMethod.POST)
public String addLibUsr(@ModelAttribute("libUsr") LibUsr libUsr){
libUsrDAO.saveOrUpdate(libUsr);
return "redirect:/register";
}
/*
In DAOImpl:
Saving the data through DAOs
*/
@Transactional
public void saveOrUpdate(LibUsr libusr) {
sessionFactory.getCurrentSession().saveOrUpdate(libusr);
}
发布于 2016-11-07 13:31:21
您的问题与此标记有关:
<form:label path="id">
当您将属性路径添加到一个标签中时,它不会存储任何值,spring尝试获取该值并返回空的yourID。
将标签的路径属性更改为:
<form:label for="id">
<spring:message text="ID" />
</form:label>
如果想要在标签中显示id的值,请使用:
<label>${yourObject.id}</label>
或
<label th:value="${yourObject.id}"></label>
Path属性只用于输入、选择、checkbox...not静态值作为标签、跨度...
https://stackoverflow.com/questions/40465706
复制