公司介绍 产品展示 业务支持 解决方案 文档资料
网站导航 访客留言 技术论坛
     
     
  产品资料
  业界动态
  JAVA技术


首  页 > 文档资料 > 产品资料  
 
  Struts XDoclet常用的Validate类型

在Struts的开发中,我们通常结合XDoclet进行开发,一方面可以快速生成配置文件,省去录入的工作量;另一方面,代码中也包含了原信息,更容易理解,这对开发效率有很大的提高。对于一些固定的Struts XDcolet标签,如struts.action,strust.form等我们可以通过文件模板机制直接将这些标签写入文件中,从而省去标签信息的录入,但是对应一些动态的标签,如校验,则需要根据具体的情况来判断并输入,这个工作量非常大,Ctrl+C,Ctrl+V,再做修改,非常浪费时间。

下面我们就看看我们通常会使用的校验准则,除了Struts的基本准则外,我们这里主要考虑到各种准则的组合,主要有以下18种情况:

1 required - validator.required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"

2 date - validator.date
* @struts.validator-args arg0resource="$name$"
* @struts.validator type=”date”
* @struts.validator-var name="datePattern"
* value="yyyy-MM-dd"

3 date,required - validator.date_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
*@struts.validator type=”date”
* @struts.validator-var name="datePattern"
* value="yyyy-MM-dd"

4 integer - validator.integer
*@struts.validator-args arg0resource="$name$"
*@struts.validator type=“integer”

5 integer,required - validator.integer_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
*@struts.validator type=”integer”

6 integer, intRange,required - validator.intger_range_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
*@struts.validator type=“integer”
*@struts.validator type=”intRange”
arg1value=”${var:min}” arg2value=”${var:max}”
* @struts.validator-var name="min" value="$min$"
* @struts.validator-var name="max" value="$max$"

7 minlength - validator.minlength
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="minlength" arg1value="${var:minlength}"
* @struts.validator-var name="minlength" value="$minlength$"

8 minlength,required - validator.minlength_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
* @struts.validator type="minlength" arg1value="${var:minlength}"
* @struts.validator-var name="minlength" value="$minlength$"

9 maxlength - validator.maxlength
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="maxlength" arg1value="${var:maxlength}"
* @struts.validator-var name="maxlength" value="$maxlength$"

10 maxlength,required - validator.maxlength_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
* @struts.validator type="maxlength" arg1value="${var:maxlength}"
* @struts.validator-var name="maxlength" value="$maxlength$"

11 minlength,maxlength,required - validator.minlength_maxlength_requried
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
* @struts.validator type="minlength" arg1value="${var:minlength}"
* @struts.validator type="maxlength" arg2value="${var:maxlength}"
* @struts.validator-var name="minlength" value="$minlength$"
* @struts.validator-var name="maxlength" value="$maxlength$"

12 float - validator.float
* @struts.validator-args arg0resource="$name$"
*@struts.validator type=”float”

13 float,required - validator.float_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
*@struts.validator type=”float”

14 float,floatRange,required - validator.float_range_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
*@struts.validator type=”float”
*@struts.validator type=”floatRange”
arg1value=”${var:min}” arg2value=”${var:max}”
* @struts.validator-var name="min" value="$min$"
* @struts.validator-var name="max" value="$max$"

15 mask - validator.mask
* @struts.validator-args arg0resource="$name$"
* @struts.validator-var name="mask"
* value="$regexp$"

16 mask,required - validator.mask_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
* @struts.validator-var name="mask"
* value="$regexp$"

17 email - validator.email
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"

18 email,required - validator.email_required
* @struts.validator-args arg0resource="$name$"
* @struts.validator type="required"
*@struts.validator type=”email”

这16种情况通常可以包含90%左右的校验,实际情况中你只需找到匹配的情况然后套用即可,为了更加方便,我们制作了一个IntelliJ IDEA的Live Template,那将更加方便,你完全可以不用了解XDoclet和Struts的Validator规则,也可以快速写出Struts的XDcolet校验标签,如下图:

比较快的方法是:在注释栏中,输入“validator.”然后按下Ctrl+J,就可以调用出各种校验标签信息,选择适合校验准则即可。

总结:Struts结合XDoclet开发是非常快捷的,如果你能用好IDEA的File Template来设定一些固定的XDoclet标签,再加上Live Template的功能,那么对于validator校验标签录入将非常快捷,开发效率会提高很多。

附件是IntelliJ IDEA的Live Template文件,你只需将其拷贝到IDEA配置目录下的templates子目录。 点此下载