1.转发
<!-- 方法一
默认为转发
* type:指定结果类型,默认为转发"dispatcher"
-->
<result name="success" type="dispatcher">/resulttype/success.jsp</result>
<!-- 方法二 :标准写法 -->
<!-- <result name="success" type="dispatcher">
param:参数
* name:参数的名称为"location"
实际上,是struts2框架底层的StrutsResultSupport类的setLocation()提供的
public void setLocation(String location) {
this.location = location;
}
* 所谓的参数,应该是set方法或者get方法后面跟的名称才是参数名
<param name="location">/resulttype/success.jsp</param>
</result> -->
* 重定向的时候,路径前面要加工程名,转发不要加工程名
2.重定向到action
<!--
重定向到action:org.apache.struts2.dispatcher.ServletActionRedirectResult
* 无论是重定向到jsp还是重定向到action,底层代码都是一样的
-->
<result name="success" type="redirectAction">
<!--
param:
* actionName:指定 “目的地” 动作的名字。指定的是struts.xml文件action标签的name属性的值
* namespace:指定的是struts.xml文件action对应的package下的namespace属性的值
-->
<param name="actionName">helloWorldAction</param>
<param name="namespace">/primer</param>
</result>
3.通配符
<action name="bookAction" class="cn.itcast.pattern.BookAction" method="add">
<result name="success">/pattern/success.jsp</result>
<result name="add">/pattern/BookAction.jsp</result>
</action>
* 如果不写method方法,默认是执行execute方法
* 自定义方法:
* 由public来修饰的
* 必须是String返回类型
* 不能传参数
* 方法名自定义
<!-- 以上配置可以改写如下: -->
<!-- {2}匹配就是"*"通配符的第二个子串 -->
<!-- {0}匹配的是"*"通配符的整个串 -->
<!-- <action name="*_*" class="cn.itcast.pattern.{1}" method="{2}">
<result name="success">/pattern/success.jsp</result>
<result name="add">/pattern/{1}.jsp</result>
</action> -->
* 是从1开始的,{1}匹配就是”*”通配符的第一个子串
4.动态方法调用
<a href="${pageContext.request.contextPath}/pattern/BookAction!add.action">图书添加</a><br>
<a href="${pageContext.request.contextPath}/pattern/BookAction!delete.action">图书删除</a><br>
* 动态方法调用:
* 页面中请求连接:namespace+actionName+”!”+执行方法名
* 在struts.xml文件中,不用配置method属性,而是通过页面的连接动态执行指定方法
* 动态方法调用,不经常使用。经常使用的是通配符
* 动态方法调用,默认是开启状态
<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
* 关闭动态方法调用
<global-results>
<result name="success">/pattern/successGlobal.jsp</result>
</global-results>
* 配置全局结果类型
* 如果局部结果类型和全局结果类型,同时存在
* 局部结果类型会覆盖了全局的结果类型
局部结果类型和全局结果类型的作用范围:
* 全局结果类型:作用于整个package
* 局部结果类型:作用于某个action
今天的文章4.struts2结果类型和struts2通配符和动态方法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/26690.html