您的位置:首页 > 编程语言 > Java开发

struts2的细节

2015-12-17 17:19 615 查看
<!-- input表示验证失败后,转发到的页面 -->
<result name="input" type="dispatcher">
/login.jsp
</result>


这里返回“scuuess”之后会进行页面的跳转,/login.jsp,/指的是跳转到webcontent文件夹下的页面,如果要跳转到web-inf下面的页面可以这样写:/web-inf/*.jsp

2.验证validation
http://blog.sina.com.cn/s/blog_57554ed50100e81l.html
(4)基于XML文件的声明式数据格式验证开发步骤

(5)验证Action类中的【所有】业务方法
编程式:validate()
声明式:Action的类名-validation.xml文件,与Action类名在同一个目录下

(6)验证Action类中的【某个】业务方式
编程式:validateXxx()
声明式:Action的类名-<action标签的name属性>-validation.xml文件,与Action类名在同一个目录下

先执行Action类名-validation.xml
后执行Action类名-<actions标签的name属性>-validation.xml,【项目中提倡】

  如果某个验证文件名称不正确,框架不会采用该文件的检验规则
如果某个验证文件名称正确,但内容出错,框架不会规则出错的字段,其它字段依然有效

所有的验证文件不是应用启动时加载,而是点击请求时,临时查询检证文件
检证文件一旦有变化,一定要重新部署才有效。
验证规则的大写写敏感

struts2的method="{1}"

这里的{1}表示接收前面action里通过通配符传来的值,例如你配置的是<action name="*Crud" class="example.Crud" method="{1}"> ,然后调用***/editCrud.action,
则method里获得的值是edit,将会调用这个action里面的 edit方法

附:
Action中的方法通配符

有些时候对Action中方法的调用满足一定的规律,例如edit Action对应edit方法,delete Action对应 delete方法,这个时候我们可以使用方法通配符,例如:
<action name="*Crud" class="example.Crud" method="{1}"> 这时,editCrud Action的引用将调用edit方法,同理,deleteCrud Action的引用将调用delete 方法。

另外一种比较常用的方式是使用下划线分割,例如:
<action name="Crud_*" class="example.Crud" method="{1}">
这样当遇到如下调用的时候可以找到对应的方法。
"action=Crud_input"   =>   input方法
"action=Crud_delete" =>   delete方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: