无法在spring窗体中获取错误消息
我正在使用实体无法在spring窗体中获取错误消息,spring,spring-mvc,Spring,Spring Mvc,我正在使用实体部门的CURD操作运行SpringWeb应用程序,这是处理新部门提交的处理程序: @RequestMapping(value = "/", method = RequestMethod.POST) public String addSubmit(@Valid Department department, BindingResult result,SessionStatus status) { if (result.hasErrors()) { return
部门的CURD操作运行SpringWeb应用程序,这是处理新部门提交的处理程序:
@RequestMapping(value = "/", method = RequestMethod.POST)
public String addSubmit(@Valid Department department, BindingResult result,SessionStatus status) {
if (result.hasErrors()) {
return "department/add";
} else {
departmentService.save(department);
status.setComplete();
return "redirect:/departments/" + department.getId();
}
}
型号:
@Entity
public class Department extends BaseNamedEntity {
@NotNull
@NotEmpty
private String description;
...
}
及表格:
<form:form method="post" action="${fmURL}" class="form-horizontal" commandName="department">
<form:hidden path="id"/>
<spring:bind path="name">
<div class="control-group ${status.error ? 'error' : ''}">
<label class="control-label">Name</label>
<div class="controls">
<form:input path="name"/>
<span class="help-inline">${status.errorMessage}</span>
</div>
</div>
</spring:bind>
<form:form>
名称
${status.errorMessage}
但是,一旦我提交了带有空字段的表单,通常情况下,应该显示错误消息,并且相关的div
应该添加一个带有error
的类,但是我找不到错误消息
发生什么事了
顺便说一句,这个例子是派生自。,你认为为什么会有一个状态
对象?除非您使用旧的spring:bind
标签,否则没有任何标签。我知道我自己没有公开状态,但我不确定spring是否为我公开了状态,我只是遵循了spring-petclinic
项目。@M.Deinum:很抱歉,我错过了spring-petclinic
项目中的spring:bind
标签,但是,即使我更新了控制器和视图,错误仍然是不可见的,请检查我的更新。表达式是否有效?结果在呈现的页面中看到了什么?没有,只有没有错误消息的表单