2017-02-16 65 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. 嘗試打開日誌框架中的調試或跟蹤語句。它會給你足夠的信息來追蹤問題。這裏是你如何做到這一點: