2017-02-16 118 views
0

最近我不得不采用Spring MVC中制作的旧项目。这个项目有几个JSP页面,通过一个简单的表单插入和更新数据。这些形式的控制器都验证器定义为每个bean,例如:Spring MVC跳过验证器类

<!-- Controller to add a Local --> 
<bean id="addLocalCtrl" class="cl.bbr.portalweb.web.ctrl.AddLocalCtrl"> 
    <property name="comercio_service" ref="comercioServiceBean"/> 
    <property name="usuario_service" ref="usuarioServiceBean"/> 
    <property name="commandName" value="command"/> 
    <property name="commandClass" value="cl.bbr.portalweb.dto.AddLocalDTO"/> 
    <property name="validator" ref="addLocalValidator"/> 
    <property name="formView" value="add_local"/> 
    <property name="successView" value="redirect:adm_local.htm"/> 
    <property name="etapa" value="${modelo.etapa}"></property> 
</bean> 

<!-- Validator Controller --> 
<bean id="addLocalValidator" class="cl.bbr.portalweb.web.validator.AddLocalValidator"> 
    <property name="comercio_service" ref="comercioServiceBean"/> 
    <property name="etapa" value="${modelo.etapa}"></property> 
</bean> 

验证器类:

public class AddLocalValidator implements Validator { 

protected final Log logger = LogFactory.getLog(getClass()); 

protected ComerciosService comercio_service = null; 
private Integer etapa; 

public void setComercio_service(ComerciosService comercio_service) { 
    this.comercio_service = comercio_service; 
} 

public void setEtapa(Integer etapa) { 
    this.etapa = etapa; 
} 

@SuppressWarnings("rawtypes") 
public boolean supports(Class addLocalClass) { 
    return addLocalClass.equals(AddLocalDTO.class); 
} 

public void validate(Object arg0, Errors arg1) { 
    AddLocalDTO local = (AddLocalDTO) arg0; 

...等

该项目已经进入托管Apache Tomcat服务器Apache Tomcat/6.0.37和JVM 1.7.0_40-b43。

所有类和验证控制器都以相同的方式写入。

全部在服务器上正常工作。

问题是当我测试的项目在当地的形式,春跳过所有验证,我真的不知道为什么。即使我尝试导出一个新的WAR文件,然后将其添加到服务器和WALAH!中,验证在那里工作。

所以问题是当我在本地运行项目。

地方特色:

的Java 1.8 Tomcat的V6.0

回答

0

的事我会在这种情况下做的情侣:

  1. 检查服务器上定义的任何环境变量和你有那些在您的本地机器上设置。
  2. 尝试打开日志框架中的调试或跟踪语句。它会给你足够的信息来追踪问题。这里是你如何做到这一点: