Struts2(七)global-results 和 extends 和动态结果集详解
来源:互联网 发布:camhi监控软件下载 编辑:程序博客网 时间:2024/04/28 10:00
一、global-results
解析:根据字面意思可以看出这个标签的作用,该标签的中文意译叫做”全局结果集“;当一个大的项目开发中,项目经理就安排任务成几个模块进行开发,其中有限页面是共同的,也就说Action返回的值是一样的,这样子的话就不用每个模块都进行相同的配置了,不仅仅体现出编码的整体性,也减少了代码的冗余性,这时候我们就可以定义一个共同的包来放置相同的配置了。
1、struts.xml 的配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <!-- <include file="login.xml"/> --> <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false" /> --> <!-- 设置为开发者模式 修改之后不需要重启服务器 --> <constant name="struts.devMode" value="false" /> <!-- 全局配置的结果集 --> <package name="user" namespace="/user" extends="struts-default"> <global-results> <result name="mainPage">/jsp/mainPage.jsp</result> </global-results> <action name="user" class="com.flx.actions.UserAction" method="testUser"> <result name="page1">/jsp/page1.jsp</result> <result name="page2">/jsp/page2.jsp</result> </action> </package>
<!--使用到了继承-->
<package name="user1" namespace="/user1" extends="user"> <action name="user1" class="com.flx.actions.UserAction1" method="testUser"> <result name="page11">/jsp/page1.jsp</result> <result name="page22">/jsp/page2.jsp</result> </action> </package>
<!-- 动态结果集 --> <package name="user3" namespace="/user3" extends="struts-default"> <action name="user3" class="com.flx.actions.UserAction3" method="testUser"> <result >${resultType}</result> </action> </package> </struts>
2、JSP 【hello.jsp】页面
<h2>(5)全局结果值demo</h2> 1、<a href="<%=path %>/user/user?type=1">返回有映射的页面1</a> 2、<a href="<%=path %>/user/user?type=2">返回有映射的页面2</a> 3、<a href="<%=path %>/user/user?type=3">全局结果值返回页面</a> 3、<a href="<%=path %>/user/user1?type=4">全局结果值返回页面</a>
3、Action处理类
package com.flx.actions;import com.opensymphony.xwork2.ActionSupport;/** * * @author FuLX * * @2016-12-28下午8:59:21 * * 功能:全局结果集 案例寿命 */public class UserAction extends ActionSupport {private static final String FINAL_FLX_PAGE_01 = "page1";private static final String FINAL_FLX_PAGE_02 = "page2";private static final String FINAL_FLX_PAGE_03 = "mainPage";private int type;//页面进来的type值有:1、2、3、4public String testUser() {//条件值为1时候跳转页面if (this.type == 1) {System.out.println("页面1");return FINAL_FLX_PAGE_01;//条件值为2时候跳转页面} else if (this.type == 2) {System.out.println("页面2");return FINAL_FLX_PAGE_02;//条件值都不符合跳转页面} else {System.out.println("其他页面");return FINAL_FLX_PAGE_03;}}public int getType() {return type;}public void setType(int type) {this.type = type;}}
4、结果说明
4.1:用户选择【返回有映射的页面1】,回调转到page1.jsp页面,因为Action返回值在result中是有的。
4.2:用户选择【返回有映射的页面2】,回调转到page2jsp页面,因为Action返回值在result中是有的。
4.1:用户选择【全局结果值返回页面】,回调转到page1.jsp页面,因为Action返回值在result中是有的。
4.1:用户选择【全局结果值返回页面】,因为Action返回值是mainPage,因为Action返回值在result中是没有的,有因为”user“包中有配置 global-results 标签;所以会跳到mainPage.jspy页面去。
二、extends 标签中属性的讲解
解答:就是在两个package中 默认是extends="struts-default",但是如果其中一个package想继承另外一个package时候,例如向继承name=''user"的package;就可以这样书写”extends="user"“;这样就会继承名字为”user“的package。注意:因为struts-defanlt配置文件非常复杂,这不需要我们去管理,是复杂但是用起来比较简单。
三、动态结果集
package com.flx.actions;import com.opensymphony.xwork2.ActionSupport;/** * * @author FuLX * * @2016-12-28下午8:59:21 * * 功能:全局结果集 案例寿命 */public class UserAction3 extends ActionSupport {private static final String FINAL_FLX_PAGE_01 = "/jsp/page1.jsp";private static final String FINAL_FLX_PAGE_02 = "/jsp/page2.jsp";private int type;private String resultType;public String testUser() {if (this.type == 1) {System.out.println("页面1");this.resultType = FINAL_FLX_PAGE_01;} else {System.out.println("页面2");this.resultType = FINAL_FLX_PAGE_02;}return "success";}public int getType() {return type;}public void setType(int type) {this.type = type;}public String getResultType() {return resultType;}public void setResultType(String resultType) {this.resultType = resultType;}}
1 0
- Struts2(七)global-results 和 extends 和动态结果集详解
- struts2: include和global-results
- struts2: include和global-results
- Struts2全局结果集Global Results
- Struts2-全局结果集global-results
- struts2全局结果集global-results
- Struts2的Global Results全局结果集
- Struts2--Result Type、global-results、extends
- struts2配置文件中的include和global-results
- struts2配置文件中的include和global-results
- struts2配置文件中的include和global-results
- Struts2 global-results(全局结果)+异常映射 Results结果类型
- Struts2 全局结果类型<global-results>
- Global Result 动态结果集 和 传参结果集
- struts 2 global-results 全局结果集
- struts2异常处理,global-results定义全局结果处理
- struts2异常处理,global-results定义全局结果处理
- global-results in struts2
- android_22_AlertDialog
- linux基础
- 查找数字
- HTML5常用标签汇总
- 第1天(就业班) 集合、泛型、io、多线程、Junit单元测试、内省、Beanutils、路径
- Struts2(七)global-results 和 extends 和动态结果集详解
- USACO2014JanuarySilver Bessie Slows Down
- border、margin、padding属性的区别
- php结合mysql数据库自定义排序
- 数据结构课程设计—图书管理系统
- Sonar代码质量管理平台的安装和使用
- 计算机图形学考试-绘制一条任意线型和线宽的直线。
- JS倒计时
- shell 的echo