Struts2 全局结果集

1、index,jsp

<body>
Result类型
<ol>
	<li><a href="user/user?type=1">返回success</li>
	<li><a href="user/user?type=2">返回error</li>
	<li><a href="user/user?type=3">返回global result</li>
	<li><a href="user/user?type=4">admin继承user包</li>
</ol>
</body>

2、struts.xml

<struts>
 <constant name="struts.devMode" value="true" />
 <constant name="struts.devMode" value="true" />
 <package name="user" namespace="/user" extends="struts-default">
         <global-results>
            <result name="mainpage">/main.jsp</result>
        </global-results>

        <action name="index">
            <result >/index.jsp</result>
        </action>

        <action name="user" class="com.wxh.action.UserAction">
            <result >/userSuccess.jsp</result>
            <result name="error">/userError.jsp</result>
        </action>
    </package>
    <package name="admin" namespace="/admin" extends="user">
    	<action name="admin" class="com.wxh.action.AdminAction">
    		<result>/admin.jsp</result>
    	</action>
    </package>
</struts>

3、AdminAction.java

package com.wxh.action;

import com.opensymphony.xwork2.ActionSupport;

public class AdminAction extends ActionSupport {
	public String execute() throws Exception{
		return "mainpage";
	}
}

4、UserAction.java

package com.wxh.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport{
	/**
	 *
	 */
	private static final long serialVersionUID = 1L;
	private int type;

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public String execute() throws Exception{
		if(type==1) return "success";
		else if(type==2) return "error";
		else return "mainpage";
	}
}

5、admin,jsp

<body>
admin继承user包
</body>

6、main,jsp

<body>
mainpage
</body>

7、userError.jsp

<body>
user error!
</body>

8、userSuccess.jsp

<body>
user Success!
</body>
时间: 2024-10-20 15:41:02

Struts2 全局结果集的相关文章

struts2全局结果集

在配置struts2.xml时有时候会遇到一个问题即多个action的result是相同的这时候就没有必要为每个action配一个result,只要配置一个global result即可: <package name="index" namespace="/" extends="struts-default"> <global-results> <result name="msg">/msg

全局结果集,带参数的结果集和动态结果集(struts2)

全局结果集: 当许多action都有共同的结果时,如果每个package都存在一个相同结果,会使得struts.xml比较臃肿,所以使用全局的结果集.一个包内的全局结果集可以通过包的继承而被其它包使用. 这样做的好处是:通用的结果集不用多次配置,减少struts.xml的配置量. 带参数的结果集: 同jsp+servlet一样,struts2中也有转发和重定向,转发的过程在服务器端完成,这个过程共享一个值栈(value Stack),客户端并不知道页面跳转到了那个jsp页面,其地址栏中显示的是所

Struts2中的全局结果集

1.在Struts2中,当有多个Action使用同一个结果集时,则可以使用全局结果集(GlobalResult),这样就不用在每一个使用同一个结果集的action里面都添加一个result,可以减少代码量,优化struts.xml配置文件,接下来将用一个很简单的小例子来介绍全局结果集. 2.首先,新建一个struts2项目,打开index.jsp页面,编码格式改为utf-8,在对里面的代码进行修改,修改后代码如下: <%@ page language="java" import=

crm创建和编辑全局选项集

一个选项集就是可包括在一个实体中的某种类型的字段.它定义一组选项.当一个选项集显示在窗体中时,将使用下拉列表控件.当在 Advanced Find 中显示时,则使用选择列表控件.有时,开发人员将选项集称为选择列表. 可以定义一个选项集以使用其中定义的一组选项:选项集也可以使用其他地方(全局)定义的可供其他选项集字段使用的一组选项.当有一组标准的可用于多个实体的类别时,全局选项集很有用.维护两个包含相同值的单独选项集很难,并且,如果它们不同步,则可能会发生错误 创建和编辑选项集: 步骤1: 步骤2

crm操作全局选项集

using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Metadata; using Microsoft.Xrm.Sdk.Messages; /// <summary> /// 全局选项集 /// </summary> public class OptionSetMetadataHelper { public IOrganizationServ

struts2 全局拦截器,显示请求方法和参数

后台系统中应该需要一个功能那就是将每个请求的url地址和请求的参数log出来,方便系统调试和bug追踪,使用struts2时可以使用struts2的全局拦截器实现此功能: import java.util.Iterator; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; im

struts2 全局拦截器,显示请求方法和參数

后台系统中应该须要一个功能那就是将每一个请求的url地址和请求的參数log出来,方便系统调试和bug追踪,使用struts2时能够使用struts2的全局拦截器实现此功能: import java.util.Iterator; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; i

Struts2全局异常处理

1.在struts.xml中配置全局异常处理 在Action中抛出异常,此异常可以是action自己抛的,也可以是Service抛出来的,都会跳转到全局异常中,只有在当前Action中配置域全局异常返回的result中name相同的result,就能跳转到指定错误视图 并在struts.xml中对应Action中配置跳转的error视图: JSP中通过Struts标签并结合OGNL表达式从值栈中获取懂啊异常信息显示出来,如果不知道值栈中异常对象的名称可以先<s:debugger>看一下,如:

扩展struts2的结果集StrutsResultSupport 自定义Result处理JSON

以前在采用Struts2开发的项目中,对JSON的处理一直都在Action里处理的,在Action中直接Response,最近研读了一下Struts2的源码,发现了一个更加优雅的解决办法,自己定义一个ResultType, 首先大家先看下Struts2中的源码 包com.opensymphony.xwork2下的DefaultActionInvocation 472行 [java] view plaincopyprint? /** * Save the result to be used lat