浏览 7729 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-29
最近公司项目使用struts2.0, 在用到struts2.0中的validation框架时,当为一个Action指定Actionname-validation.xml验证规则后,validation interceptor会为该Action中的每个方法都执行validation,这样很烦。 (1)有一种解决方法是为其余不需要进行验证的方法加上annotation,即在方法前加上@SkipValidation。 (2)另一种方法是今天在mailing list中看到的,为Action中的指定方法指定一个验证规则,命名为Actionname-alias-validation.xml,在struts2.0自带的mailreader例子中有使用,可以参考。 如mailreader的例子中,struts中的配置如下: xml 代码
然后在mailreader2包下有一个Subscription类,及一个Subscription-Subscription_save-validation.xml文件,还有一个Subscription-validation.xml文件。 注意:Subscription_save是在struts 中定义的action的name,在struts中还要指定Subscription_save所对应的方法。 (3)还有一种方法,也是我认为最简单的方法就是如下配置: xml 代码
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-07-28
你好!
有一种问题向你请教一下, 如果使用通配符的配置, 只有一个<result name='input'>/inputpage.jsp</result> 返回结果。 如果不同的action方法想返回不同的页面,是不是就不能能做了呢? |
|
返回顶楼 | |
发表时间:2007-08-01
woshiwuji 写道 你好!
有一种问题向你请教一下, 如果使用通配符的配置, 只有一个<result name='input'>/inputpage.jsp</result> 返回结果。 如果不同的action方法想返回不同的页面,是不是就不能能做了呢? 你可以采用Wildcard Mappings的方式 例: <action name="/edit*" class="org.apache.struts.webapp.example.Edit{1}Action"> <result name="failure" path="/mainMenu.jsp"/> <result name="input" path="/{1}.jsp"/> </action> |
|
返回顶楼 | |
发表时间:2007-08-23
你好,有一个问题我想请教一下,
<action name="list" class="DetailAction"> <result>detail.jsp</result> </action> <action name="add" class="DetailAction" method="add"> <result name="input">photo_detail?pid=${pid}</result> <result type="redirect-action">photo_detail?pid=${pid}</result> </action> 我定义了一个DetailAction-add-validation.xml文件来对输入的评论进行验证.如果验证失败返回这个页面,但是什么错误提示也不会显示 <action name="add" class="DetailAction" method="add"> <result name="input">detail.jsp</result> <result type="redirect-action">photo_detail?pid=${pid}</result> </action> 如果这样写的话,错误提示是可以显示的,但是文章内容就不会显示出来了,只有一个评论框,有什么好的办法没有呢? |
|
返回顶楼 | |
发表时间:2007-08-23
不好意思,上面写的有些问题,下面的才是.
你好,有一个问题我想请教一下, <action name="detail" class="DetailAction"> <result>detail.jsp</result> </action> <action name="add" class="DetailAction" method="add"> <result name="input">detail?pid=${pid}</result> <result type="redirect-action">detail?pid=${pid}</result> </action> 我定义了一个DetailAction-add-validation.xml文件来对输入的评论进行验证.如果验证失败返回这个页面,但是什么错误提示也不会显示 <action name="add" class="DetailAction" method="add"> <result name="input">detail.jsp</result> <result type="redirect-action">detail?pid=${pid}</result> </action> 如果这样写的话,错误提示是可以显示的,但是文章内容就不会显示出来了,只有一个评论框,有什么好的办法没有呢? |
|
返回顶楼 | |
发表时间:2007-08-23
kevin002 写道 你好,有一个问题我想请教一下,
<action name="list" class="DetailAction"> <result>detail.jsp</result> </action> <action name="add" class="DetailAction" method="add"> <result name="input">photo_detail?pid=${pid}</result> <result type="redirect-action">photo_detail?pid=${pid}</result> </action> 我定义了一个DetailAction-add-validation.xml文件来对输入的评论进行验证.如果验证失败返回这个页面,但是什么错误提示也不会显示 <action name="add" class="DetailAction" method="add"> <result name="input">detail.jsp</result> <result type="redirect-action">photo_detail?pid=${pid}</result> </action> 如果这样写的话,错误提示是可以显示的,但是文章内容就不会显示出来了,只有一个评论框,有什么好的办法没有呢? 我也遇到过这种问题 是加了一个<interceptor-ref name="prepare" />拦截器 不知道还有没有更好的解决办法. |
|
返回顶楼 | |
发表时间:2007-08-23
Puras 写道 kevin002 写道 你好,有一个问题我想请教一下,
<action name="list" class="DetailAction"> <result>detail.jsp</result> </action> <action name="add" class="DetailAction" method="add"> <result name="input">photo_detail?pid=${pid}</result> <result type="redirect-action">photo_detail?pid=${pid}</result> </action> 我定义了一个DetailAction-add-validation.xml文件来对输入的评论进行验证.如果验证失败返回这个页面,但是什么错误提示也不会显示 <action name="add" class="DetailAction" method="add"> <result name="input">detail.jsp</result> <result type="redirect-action">photo_detail?pid=${pid}</result> </action> 如果这样写的话,错误提示是可以显示的,但是文章内容就不会显示出来了,只有一个评论框,有什么好的办法没有呢? 我也遇到过这种问题 是加了一个<interceptor-ref name="prepare" />拦截器 不知道还有没有更好的解决办法. <result name="input">detail?pid=${pid}</result> 这句代码里面的pid值得不到了,不知道是怎么回事了. |
|
返回顶楼 | |