Spring MVC 3 showErrors不显示任何内容

时间:2013-04-08 11:51:00

标签: spring-mvc velocity

我尝试验证一个简单的表单。验证执行得很好,但结果页面不显示错误。 我使用velocity来渲染页面。 我以春季网站上的PetClinic项目为例。

当我点击“发布表单”按钮时,这是我的控制器:

@Controller
@RequestMapping("/subscription")
public class SubscriptionController {

@RequestMapping(value = "/newCustomer", method = RequestMethod.POST)
public String processSubmit(@ModelAttribute Customer customer, BindingResult result, SessionStatus status) {

    new CustomerValidator().validate(customer, result);
    if (result.hasErrors()) {
        return "subscription";
    }
    else {
        status.setComplete();
        return  "redirect:/admin";
    }
}

}

当我进行调试时,我看到了错误。我已在订阅页面上成功重定向,但未显示错误。

我的网页(简化):

...

            #springBind("customer")
            #springShowErrors("<br/>" "")
            <form class="form-horizontal"  method="post" action="#springUrl("/subscription/newCustomer/")">

                        ....

                        <!-- Button -->
                        <div class="controls">
                            <button class="btn btn-primary">#springMessage("website.subscription.signup")</button>
                        </div>

             </form>

 ...

如果您还有其他需要,请随时告诉我。谢谢你的帮助!几天以来我一直坚持这个。

1 个答案:

答案 0 :(得分:0)

编辑: 我终于找到了错误。它是使用springBind标签。我不太明白你需要绑定字段来显示相关的错误。以下是twitter bootstrap框架的一个字段的固定代码。

                    #springBind("customer.name")
                    <div class="control-group   #if(${status.error})error#end">

                        <!-- Prepended text-->
                        <label class="control-label">#springMessage("website.subscription.name")</label>
                        <div class="controls">
                            <div class="input-prepend">
                                <span class="add-on"><i class="icon-user"></i></span>
                                 <input class="input-xlarge"
                                    placeholder="John Doe" id="name" name="name" type="text">                                   
                            </div>
                            <p class="help-block">                                  
                                #springShowErrors("<br/>" "")
                            </p>
                        </div>

                    </div>

springShowErrors(...)将显示与POJO客户的字段名称相关的所有错误。