struts 2 校验

其他棱棱角角的东西都弄完了,想到校验,突然想到一个问题。  通常地,校验文件这么写的 

1.  Action类名+"-validation.xml"。 比如 Action类  RegisterAction 所对应的校验文件就这么写 RegisterAction-validation.xml。  这种写法, 会对action中的任何一个方法都进行校验。

2. 另外, 也可以这样:  Action类名 + "-" + Action 别名+ "-validation.xml"。 比如一个UserAction 中有register 这么一个方法, 此时action 中的配置应该类似于 <action name = "userAction" class = "****" method = "register">(使用通配符更好) 。 

现状: 有个 UserAction 中有register, login等方法, 调用的方式是  userAction!register。 直接使用第一种方式, 不妥。此外,一时间也无法改成通配符。 更不能 对 UserAction 中的每一个方法都写一通  <action ...method= >....

也有人建议说, 在Action类中针对 不想校验的方法 加一个注释:  @SkipValidation, 是没问题的,但是有这么一种情况: 我的Action中  N中方法, 我只想对其中的一个方法进行校验, 那么我得打 n-1个 注释。 。。。。挺烦的, 问题是,java文件打包之后,就想改动,就有点麻烦了。  现在的方法, 多配置一个action。 以 需要校验:UserAction中的register方法为例。

在struts.xml中

原来是这样的:

<action  name = "userAction" class = "*.*.*.UserAction">

...

...

...

</action>

现在是这样:

<action name = "userAction" class = “*.*.*.UserAction”>

...

...

...

</action>

<action name = "userRegister" class = "*.*.*.UserAction" method = "register">

...

...

...

</action>

校验文件的命名如下:   UserAction-userRegister--validation.xml。

jsp页面中调用其他方法时该怎样还怎样。  比如userAction!login 。 但是调用 register时, 就这样:userRegister。

哦了。 代价:在 Struts.xml 文件中多写了点东西,屌丝了。

现在使用的struts 版本: 2.3.4.1。

其他的版本不知道能不能用。

如果有其他好的方法,求回复告知,谢谢。

                                                                                                                            [email protected]




 



你可能感兴趣的:(struts2,校验,DMI)