java - Spring MVC 验证不显示错误消息

标签 java spring spring-mvc spring-validator

我正在开发网络应用程序,该应用程序应该在将日期保存到数据库之前验证日期。所以我正在尝试使用 spring mvc validator 。但我有一个问题,表单不显示错误消息。

我的用户.jsp:

<form:form class="editUser" method="POST" commandName="user">
    <form:input path="email"/>
    <form:errors path="email"/>
    other fields
</form>

我的 Controller :

@RequestMapping(value = "/user/save", method = RequestMethod.POST)
public String save(@Valid @ModelAttribute("user") final User user,
        BindingResult result) throws Exception
{
    if (result.hasErrors()) {
        return "redirect:/addUser";
    } else {
        handler.saveUser(user);
        return "redirect:/userList";
   }
}

我的用户类别:

public class User {
    @NotEmpty(message = "Please enter your email addresss.")
    private String email;

    other fields
}

据我所知,如果我提交空电子邮件,在 Debug模式下结果会包含错误,但该错误不会显示在页面上。有人可以帮助我吗?

更新: 我尝试过使用RedirectAttributes,但它仍然不起作用。

我的 Controller :

public String save(@Valid @ModelAttribute("user") final User user,
        BindingResult result) throws Exception
{
    if (result.hasErrors()) {
        redirectAttributes.addFlashAttribute("org.springframework.validation.BindingResult.user", result);
        redirectAttributes.addFlashAttribute("errors", result.getAllErrors());
        redirectAttributes.addFlashAttribute("user", user);
        return "redirect:/addUser";
    } else {
        handler.saveUser(user);
        return "redirect:/userList";
   }
}

最佳答案

不要重定向以防验证失败。

示例代码:

public String save(@Valid @ModelAttribute("user") final User user,
        BindingResult result) throws Exception
{
    if (result.hasErrors()) {
        return "addUser";
    } else {
        handler.saveUser(user);
        return "redirect:/userList";
   }
}

关于java - Spring MVC 验证不显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25056937/

相关文章:

java - Webdriver - 查找具有相同类的前 x 个元素

java - 如何使用龙格-库塔法 (RK4) 求解牛顿冷却定律

java - 使 rpm-maven-plugin 在 MAC OS 上工作(mavericks)

java - 在 Spring Web Flow 中格式化绑定(bind)日期字段

java - Spring Data JPA 和事务管理

java - 从另一个 fragment 导航后返回时 ViewPager 不可见

集群环境上的 Spring Batch - Websphere

java - Spring XML 406 错误

java - 从 spring Controller 返回 JSONObject 给出 406 错误

linux tomcat写文件里面 "/tmp/"