Struts2 全局结果集-全局result节点设置,package设置abstract=true的实现
转自:https://blog.csdn.net/u013161278/article/details/41855273
如果我们所有的action均有可能跳到相同的页面,则不妨使用全局result。为了方便引用我们专门建立一个package来存放公共的result。在会用到个全局的跳转时,只需要把继承自这个公共的package即可。
建立公共包,代码如下:
<package name="pubResult" extends="struts-default" abstract="true">
<global-results>
<result name="error">/error.jsp</result>
</global-results>
</package>
由于它下面没的action配置,所以我们可以像默认的struts-default 包一样,声明abstract=true,这样声明表示此packgage下不会有action,它一般是用来让别的package继承。随后再在要用到 全局result中引用这个公共的package。代码如下:
<package name="testGlobal" extends="pubResult" >
<action name="error" class="com.asm.ErrorAction"></action>
<action name="error2" class="com.asm.Error2Action"></action>
</package>这样操作相当于把全局的result加到了此package下的所有action中去。
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd"> <!-- Struts 2配置文件的根元素 -->
<struts>
<!-- 配置了系列常量 -->
<constant name="struts.i18n.encoding" value="GBK"/>
<constant name="struts.devMode" value="true"/> <package name="shop-default" abstract="true" extends="struts-default">
<global-results>
<!-- 错误页面 -->
<result name="error">/show_error.jsp</result>
<!-- 程序主页面 -->
<result name="index" type="redirectAction">index</result>
<!-- 后台管理主页面 -->
<result name="manager">/main.jsp</result>
<!--会员注册 -->
<result name="reg">/WEB-INF/pages/user/customer_reg.jsp</result>
<!--会员登录-->
<result name="customerLogin">/WEB-INF/pages/user/customer_login.jsp</result>
<!--管理员登录-->
<result name="userLogin">/WEB-INF/pages/admin/user/user_login.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="error" exception="com.lyq.util.AppException"></exception-mapping>
</global-exception-mappings>
</package> <package name="xqh" extends="shop-default">
<!-- 定义一个拦截器 -->
<interceptors>
<interceptor name="authority" class="com.xqh.interpector.LoginInterceptor">
</interceptor>
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="authority"></interceptor-ref>
</interceptor-stack>
</interceptors> <!-- 定义处理用户请求的Action,指定该Action的实现类-->
<action name="registPro" class="com.xqh.action.RegistAction">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action> <action name="showPro" class="com.xqh.action.ShowAction">
<!-- 使用此拦截器 -->
<interceptor-ref name="mydefault" />
<result name="login">/login.jsp</result>
<result name="success">/show.jsp</result>
</action> <!-- 让用户直接访问该应用时列出所有视图页面 -->
<action name="*">
<result>/{1}.jsp</result>
</action>
</package>
</struts>
Struts2 全局结果集-全局result节点设置,package设置abstract=true的实现的更多相关文章
- 全局结果集,带参数的结果集和动态结果集(struts2)
全局结果集: 当许多action都有共同的结果时,如果每个package都存在一个相同结果,会使得struts.xml比较臃肿,所以使用全局的结果集.一个包内的全局结果集可以通过包的继承而被其它包使用 ...
- Struts2 全局拦截器、result 的实现
定义一个可以继承的包,在这个包里面写入自己常用的拦截器,于是就实现了全局拦截器的实现. 现在,我们定义一个专门用来继承的包: <!--专门提供前台继承的包--> <package n ...
- struts中json机制与普通页面跳转机制混用(全局结果集配置返回json)
package继承json-default与struts-default 返回结果是add的话将addResult属性转换为json返回(addResult属性有getter,setter方法),返回 ...
- struts2国际化---配置国际化全局资源文件并输出国际化资源信息
我们首先学习怎么配置国际化全局资源文件.并输出资源文件信息 1.首先struts2项目搭建完毕后,我们在src文件夹下.即struts2.xml同级文件夹下创建资源文件.资源文件的名称格式为: XXX ...
- crm创建和编辑全局选项集
一个选项集就是可包含在一个实体中的某种类型的字段.它定义一组选项.当一个选项集显示在窗口中时,将使用下拉列表控件.当在 Advanced Find 中显示时,则使用选择列表控件.有时,开发者将选项集称 ...
- iOS用全局宏的概念理解xcode中的设置 preprocessor macros
ios有没有全局宏,或者在工程属性里设置宏? 比如我设置了一个宏叫IOS, 在所有/整个工程的代码里这个宏都是有效的. ------解决方案-------------------- 在工程的设置属性里 ...
- Struts2_Global_Results_全局结果集
struts.xml文件配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts ...
- struts2注解总结----@Action和@Result
除了使用配置文件配置之外,还能够使用注解来配置 以下是一些经常使用的注解 介绍: @Action/@Actions: @Action指定一个类为action,相应配置文件里的<action> ...
- 全网最新的nacos 2.1.0集群多节点部署教程
原文链接:全网最新的nacos 2.1.0集群多节点部署教程-语雀 基本信息 进度整理中 版本 2.1.0 版本发布日期 2022-04-29 git revision number b5845313 ...
随机推荐
- ubuntu12.04 错误:phonon: No such file or directory; phonon模块的安装
http://blog.csdn.net/xsl1990/article/details/9009919 错误:phonon: No such file or directory 1)sudo ap ...
- vue 列表渲染 v-for循环
v-for循环指令类似与html中C标签的循环,同样可以遍历数组,集合. 1.这里演示一下遍历数组的基本用法,代码如下 <!DOCTYPE html> <html> <h ...
- 获得一个list中某元素的索引值
list = [1,2,3,3,2,1] list.index(1) # 只能获得首个1的索引值 如果要获得所有该元素的索引值 import numpy as np arr = np.array(li ...
- Haproxy与OpenStack-API安全
转 http://wsfdl.com/devops/2014/12/24/Haproxy%E4%B8%8EOpenStack-API%E5%AE%89%E5%85%A8.html Haproxy 作为 ...
- 反射+type类+Assembly+特性
什么是元数据,什么是反射: 程序是用来处理数据的,文本和特性都是数据,而我们程序本身(类的定义和BLC中的类)这些也是数据. 有关程序及其类型的数据被称为元数据(metadata),它们保存在程序的程 ...
- ubuntu更改启动顺序
在ubuntu中修改启动配置. 启动相关grub2主要包含下面三个文件:1. /boot/grub/grub.cfg 文件 2. /etc/grub.d/ 文件夹 3. /etc ...
- XSS 跨站脚本攻击实例1
14.44-16.22 编码,跨站脚本攻击1 16.22-16.53 整理cnblog 这篇文章适合知道有XSS脚本攻击,但是一头雾水,从未操作过,也不知道脚本攻击会给客户端用户带来什么不便之处 ...
- Mssql 跨域查询
有数据库test1和数据库test2.其中test1中有表 table1.table2:test2 中有表 table1.三个表的字段都为为:id.xingming.shijian.shuliang. ...
- The import java.util cannot be resolved
原因:项目buildpath不对 解决方案: 右键项目-------build path--------configuration build path 的选择libraries找到JRE(这个时候你 ...
- java中如何将string 转化成long
1.Java中如何将string 转化成long long l = Long.parseLong([String]); 或 long l = Long.parseLong([String],[int ...