2012-06-11 31 views
0

我已经在Spring MVC应用程序中正确设置了Hibernate Validator。豆类已经过验证,但我无法显示错误。Spring MVC:为什么我的sf:错误被忽略?

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

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

当我运行页面,并与Chrome的督察检查它,有没有股利(或有)持有这些错误的元素。它完全被忽略。这是奇怪的,因为下面一行是正确地解析为HTML形式,同一个JSP:

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

这里的标签库我用弹簧的形式:

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

任何想法可能出现了问题?

+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" /> 

Woth这一点,它会会没事;)

+0

是的,我实际上错过@ModelAttribute注释,thanx! – Xorty