标签:action 使用 感叹号 全局 不同 rac png strong patch
首先我们需要在struts.xml中去配置一个常量值如下
那么去哪找呢?找到Struts-core.jar并打开
<action name="login" class="cn.ssh.ch08.UserAction" method="lgoin"> <result name="success">/success.jsp</result> <result name="fail">/fail.jsp</result> </action> <action name="register" class="cn.ssh.ch08.UserAction" method="register"> <result name="success">/success.jsp</result> <result name="fail">/fail.jsp</result> </action>
可以看到配置文件中分别定义了两个action元素,每个action的name属性都不同,但是类的引用却是相同的也就是说,如果用户的请求是login.action,
那么就会调用类中的login()方法,如果是register.action则会调用register()方法.
注意:Struts2在根据action元素的method属性查找执行方法时有两种途径
如login()方法,找不到此方法时会去找doLogin()方法
使用语法:actionName!methodName
因此请求只需要这样写即可如下
而配置文件中就不在需要method属性了
<!-- {1} 相当于占位符,在每个用到{1} 的地方都匹配了前端请求的*User中*号的内容 --> <action name="*User" class="cn.myweb.action.UserAction" method="{1}"> <result name="{1}" >{1}.jsp</result> </action>
比如我的请求是 loginUser.action那么login就会被填充到 {1}中,也就是跳转页面是login.jsp,方法是login,结果是login
此外有了{1}那么也是可以有{2}的.这里就不多讲了
常用的三种如下:
<action name="register" class="cn.ssh.ch08.UserAction" method="register"> <result name="success" type="redirectAction">success</result> <result name="fail">/fail.jsp</result> </action>
如上成功之后会去中找名为success的action
当出现错误请求时则会跳转到index页面
当结果为 error时则跳入错误页面
注意action标签不能放在global标签前面
Struts2的动态方法,及result跳转方式,全局结果以及默认的action的配置
标签:action 使用 感叹号 全局 不同 rac png strong patch
原文地址:https://www.cnblogs.com/hfx123/p/10052619.html