随笔-69  评论-0  文章-5  trackbacks-0
struts中的common validator在spring mvc 中也是可用的,配置步骤如下

1,下载spring-moudle 0.2

2, 在spring中作如下配置
    <bean id="validatorFactory" class="org.springmodules.commons.validator.DefaultValidatorFactory">
        
<property name="validationConfigLocations">
            
<list>
                
<value>/WEB-INF/validator-rules.xml</value>
                
<value>/WEB-INF/validation.xml</value>
            
</list>
        
</property>
    
</bean>
 
    
<bean id="beanValidator" class="org.springmodules.commons.validator.DefaultBeanValidator">
        
<property name="validatorFactory" ref="validatorFactory"/>
    
</bean> 
    
    
<bean id="messageSource" 
        class
="org.springframework.context.support.ResourceBundleMessageSource">
        
<property name="basenames">
            
<list>
                
<value>resources.application</value>
                
<value>resources.validator</value>
            
</list>
        
</property>
    
</bean>    

所用的validator-rules.xml和struts有所有不同(可以从spring live中下载),看得出来只是一些类的名称变了

3,在formController中配置
  
 <property name="validator" ref="beanValidator"/>

4,客户端js的使用

其中validator.jsp为了客户端缓存js而做的jsp(来处spring live)
<%@ taglib prefix="validate" uri="/WEB-INF/tld/spring-commons-validator.tld"%>
<validate:javascript staticJavascript="false" formName="adminEditInfoForm" xhtml="true" cdata="false"/>
<script src="js/validator.jsp"></script>
   <form action="adminEditInfo.do" method="post" onsubmit="return validateAdminEditInfoForm(this)">

btw:
   1, 不要覆盖SimpleFormController的processFormSubmission,否则不会进行验证错误返回,覆盖onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors)!
   2,  form的名字一定要和类名首字母小写一致
    3, <script src="js/validator.jsp"></script>如果产生问题,干脆的办法是将生成的javascript静态脚本做成一个js文件引入
posted on 2006-04-18 14:25 liunix 阅读(1233) 评论(0)  编辑  收藏 所属分类: spring

只有注册用户登录后才能发表评论。


网站导航: