文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>清除struts-validator框架在页面生成的大量js代码

清除struts-validator框架在页面生成的大量js代码

时间:2006-07-07  来源:softiger

清除struts-validator框架在页面生成的大量js代码

2004-04-15, by rainy14f

        struts自带的validator框架的易用性确实不错,但是它的客户端验证(JS验证)却有令人诟病的一点,就是它会在每个使用js验证的页面都生成大幅的js代码。看到这种情况,恐怕本来有兴趣试一试的人,也会望而止步了吧。如果是我们自己写的话,是一定会把这么多的js写在一个.js文件里的。但是我们可以自己手动来修改它的js验证框架,使它符合我们的要求。

        修改很简单,分为3个步骤:

        1、精简valiator-rules.xml文件,去除不需要的验证规则

        validator-rules文件里定义的验证规则可谓大而全,可是并不是每个应用都会用到全部这些规则的,我们可以把不会用到的验证规则从<validator>到</validator>之间(也包括这两个标记)清除掉,以求视野清晰。比如说,我现在只用到name是required的验证规则,来验证非空,那我就可以只保留<validator name="required">...</validator>,其他都可以删掉了。

        2、将validator-rule.xml中定义的验证代码移到一个单独的.js文件中去

        最关键的一步就是要防止struts在每个页面都生成大量js代码。这些代码就定义在<javascript>标记里。我们把这些标记中的js都移动到一个新建的validate.js文件里,但是不能使<javascript><![CDATA[与]]>之间为空,必须要填写东西在里面,否则框架会认为js被禁用而直接转到服务端验证。我修改后的required的验证就是下面这样:

  <validator name="required"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateRequired"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionErrors,
                       javax.servlet.http.HttpServletRequest"
                  msg="error.required">

         <javascript><![CDATA[
  <!--this function is replaced by validate.js-->
                ]]>
         </javascript>

        3、在页面的<head>标签之间添加新的js文件的链接

        这一步就不用多说了。
   相信谁都会写,
        好了,大功告成了! 
        这下,页面就干净了!

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载