我正在使用Spring MVC3。这是我的模型,

public class MarketPlace {

    @NotNull(message="This Template Name is required")
    @Size(max=50)
    private String templateName;

    public String getTemplateName() {
        return templateName;
    }

    public void setTemplateName(String templateName) {
        this.templateName = templateName;
    }

}


这是控制器方法,

public String PublishForm(@Valid MarketPlace m, BindingResult result) {
    if (result.hasErrors()) {
        return "Error";
    }
    return "Sucess";
}


但是hasErrors始终为false。
然后我将这些行放在dispather-servelet中,

xmlns:mvc="http://www.springframework.org/schema/mvc"
................

mvc:annotation-driven /


但是现在,NetBean向我显示此错误,

The matching wildcard is strict, but no declaration can be found for element 'mvc:annotation-driven.


有人建议我
“设置JSR-303提供程序在类路径上”

这是什么意思。
我的应用程序中有这些罐子,

lib\slf4j-api-1.6.2.jar,
build/web/Resources/validation-api-1.0.0.GA.jar,
build/web/Resources/hibernate-validator-4.2.0.Final.jar


编辑:


        
            
                 DemoAppMarketController
....................................
            class =“ Controller.IndexControler”

最佳答案

您必须确保存在以下xsi:schemaLocation条目:

http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd


此外,请看本教程,它说明了如何使用JSR-303提供程序。

http://www.openscope.net/2010/02/08/spring-mvc-3-0-and-jsr-303-aka-javax-validation/

更新:
坦白说,我更喜欢URL映射的另一种方式:
所有请求的jsp都映射到* .html URL。

现在,您的Dispatcher servlet如下所示:

 <display-name>MyServlet</display-name>
   <servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>


比您的Spring URL映射看起来像这样:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

10-06 09:06