【发布时间】:2017-07-06 02:16:06
【问题描述】:
最近我不得不参加一个用 Spring MVC 制作的旧项目。这个项目有几个 JSP 页面,它们通过一个简单的表单插入和更新数据。这些表单的控制器在每个 bean 中定义了一个验证控制器,例如:
<!-- 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 中。
所有类和验证控制器都以相同的方式编写。
一切在服务器上运行良好。
问题 是 我以本地形式测试项目,Spring跳过所有验证,我真的不知道为什么。即使我尝试导出一个新的 WAR 文件并将其上传到服务器和 WALAH!,验证工作在那里。
所以问题是当我在本地主机上运行项目时。
当地特色:
Java 1.8 Tomcat v6.0
【问题讨论】:
标签: java spring validation tomcat localhost