Spring MVC:为什么我的sf:错误被忽略了?

时间:2012-06-11 10:28:12

标签: spring-mvc bean-validation

我在Spring MVC应用程序中正确设置了Hibernate Validator。 Bean已经过验证,但我无法显示错误。

在我的JSP页面中,我有以下几行:

<sf:errors path="*" cssClass="errors" element="div" />

当我运行页面并使用chrome的检查器检查它时,没有用于保存这些错误的div(或任何)元素。它完全被忽略了。这很奇怪,因为跟随行在同一个JSP中正确解析为html表单:

<sf:form method="post" modelAttribute="tsCommand">

这是我用于弹簧形式的taglib:

<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%>

任何可能出错的想法?​​

1 个答案:

答案 0 :(得分:1)

你的语法是正确的,我不确定“element = \”div \“”属性。

您的控制器必须如此:

public void handleActionRequestInternal(@ModelAttribute("tsCommand") @Valid TsCommand tsCommand, BindingResult result, @ModelAttribute ModelMap model) throws Exception {

你的背景:

<bean id="annotationMethodHandlerAdapter"
    class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="webBindingInitializer">
        <bean id="configurableWebBindingInitializer"
            class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
            <property name="validator">
                <ref bean="validator" />
            </property>
        </bean>
    </property>
</bean>
<bean id="validator"
    class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />

这个,它会好的;)