`
cpf1985
  • 浏览: 78317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 经典配置

阅读更多
每个action都写一个xml文件 比如

   <?xml version="1.0" encoding="gbk"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>	
	
	
	<package name="shop" extends="main" namespace="/shop">
		
		
		<action name="*" method="{1}" class="goodsAction">
		<result name="default">${target}</result>
		<result name="redirect" type="redirect">${target}</result>
		<result name="redirectAction" type="redirectAction">${target}</result>
		</action>
	</package>
</struts>

class="shopAction" 需要在 applicationContext-action.xml中进行配置
   <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
		  "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans default-autowire="byName">


	<bean id="goodsAction" class="com.specl.mis.sale.action.GoodsAction" scope="prototype"></bean>
	
</beans>

在struts.xml文件中将加入为每个action写的配置文件
   <?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>
	<constant name="struts.devMode" value="true" />
	<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
	
	<package name="main" extends="struts-default" namespace="/">
		<interceptors>

			<interceptor name="loginInterceptor"
				class="com.specl.mis.interceptor.LoginInterceptor"></interceptor>

			<interceptor-stack name="defaultLogin">
				<interceptor-ref name="loginInterceptor"></interceptor-ref>
				<interceptor-ref name="defaultStack"></interceptor-ref>
			</interceptor-stack>
		</interceptors>

		<default-interceptor-ref name="defaultLogin"></default-interceptor-ref>

		<global-results>
			<result name="login" type="redirect">/login.jsp</result>
		</global-results>
	</package>
	

	
	<include file="struts-goods.xml"></include>
	

</struts>



然后再来看看action的写法
需要一个baseAction
  

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Preparable;
import com.specl.mis.login.service.MyUserDetails;
import com.specl.mis.login.springsecurityutil.SecurityUserHolder;
import com.specl.mis.utils.RequestUtil;
import com.specl.mis.utils.SearchMap;
import com.specl.model.Operator;

public class BaseAction extends ActionSupport implements ServletResponseAware,
		ServletRequestAware, SessionAware, ApplicationAware, Preparable {

	private static final long serialVersionUID = 1L;

	
	
	protected final static  String RELOAD = "reload";
	
	protected final static String DEFAULT = "default";
	
	protected final static String REDIRECTACTION  = "redirectAction";
	
	protected final static String REDIRECT = "redirect";
	
	protected final static String CHAIN = "chain";
	
	private String target;
	
	protected int page;
	
	protected SearchMap searchMap;
	
	protected HttpServletResponse response;

	protected HttpServletRequest request;

	protected Map<String, Object> session;

	protected Map<String, Object> application;
	
	
	public String getTarget() {
		return target;
	}

	public void setTarget(String target) {
		this.target = target;
	}

	protected String redirect(String target){
		setTarget("/WEB-INF/"+target);
		return DEFAULT;
	}
	protected String redirect(String type,String target){
		setTarget(target);
		return type;
	}
	
	
	public void setServletResponse(HttpServletResponse response) {
		this.response = response;

	}

	public void setServletRequest(HttpServletRequest request) {
		this.request = request;

	}

	public void setSession(Map<String, Object> session) {
		this.session = session;

	}

	public void setApplication(Map<String, Object> application) {
		this.application = application;

	}

	
	public void prepare() throws Exception {
		response.setHeader("Pragma","No-cache");        
		response.setHeader("Cache-Control","no-cache");        
		response.setDateHeader("Expires",0);     
		page = RequestUtil.getIntParameter(request, "page", 1);
		searchMap = new SearchMap(request);
	}
	
	public MyUserDetails getSessionOperator(){
		MyUserDetails myUserDetails = SecurityUserHolder.getCurrentUser();
		return  myUserDetails;
	}
}


public class CardAction extends BaseAction {
       public String test() {
        return redirect("/card/batchCardList.jsp");
    }

   
}

分享到:
评论

相关推荐

    struts2 Https 配置

    2. **Struts2配置**:在Struts2的应用中,我们需要确保Action请求被重定向到HTTPS。这可以通过在`struts.xml`配置文件中使用`&lt;constant&gt;`标签设置`struts.action.excludePattern`属性来实现。 ```xml ...

    struts2核心配置文件

    ### Struts2核心配置文件详解 #### 一、概述 Struts2框架是Java Web开发领域内一个重要的轻量级框架,它简化了基于MVC(Model-View-Controller)设计模式的应用程序开发过程。在Struts2框架中,有两个核心配置文件...

    struts2初始使用环境配置

    在开始使用Struts2之前,我们需要先进行环境配置。以下将详细介绍Struts2的初始使用环境配置步骤。 首先,确保你已经安装了Java Development Kit (JDK)。JDK是开发Java应用的基础,你需要至少JDK 1.6或以上版本来...

    struts2的配置信息

    在这个“struts2的配置信息”主题中,我们将深入探讨Struts2的核心配置及其lib资源。 首先,让我们关注`lib`目录。这个目录包含了Struts2运行所需的库文件,这些文件是JAR(Java Archive)格式,它们提供了框架的...

    struts2参数配置

    - **Struts配置文件**:是Struts2的核心配置文件,通常位于`/WEB-INF/struts-config.xml`。 - 配置文件中定义了框架的主要行为,如Action映射、拦截器、结果类型等。 - 通过`struts-config.xml`文件,可以灵活地控制...

    struts2经典实例

    在本实例集中,我们将深入探讨几个经典的Struts2应用示例,这些示例对于初学者和进阶开发者来说都是极具价值的学习资源。 1. **Struts2 Showcase** `struts2-showcase-2.0.1.war` 是一个全面的演示应用,展示了...

    struts2 配置dtd 自动提示

    在配置Struts2时,通常会使用一个名为`struts.xml`的配置文件,该文件定义了应用程序的行为和组件。为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常...

    struts2配置文件

    以下是对`struts2配置`的详细解释: 首先,要配置Struts2框架,你需要确保拥有正确的库文件。在Struts2.3.3版本中,除了核心库如`struts2-core-2.3.3.jar`和`xwork-core-2.3.3.jar`之外,还需要其他的依赖库,例如`...

    ·Struts2配置文件介绍 超级详细

    ### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...

    freemarker与struts2详细配置

    **FreeMarker与Struts2的整合配置详解** FreeMarker是一个基于Java的模板引擎,它用于生成动态HTML、XML或其他格式的文本输出。Struts2是一个流行的MVC(模型-视图-控制器)框架,用于构建Java Web应用程序。将...

    Struts2的配置文件的详细说明

    Struts2是一个强大的MVC框架,它通过提供配置文件来管理应用程序的行为,使得开发者能够灵活地定义Action、拦截器和结果映射。本文将深入探讨Struts2的配置文件,特别是`struts.xml`文件中的关键元素和属性。 在...

    Struts2配置详解

    ### Struts2配置详解 #### 一、总览 在深入了解Struts2的配置细节之前,我们先来简要概述一下Struts2框架的核心特点及其配置文件的基本结构。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...

    struts2所有包和配置文件

    这个压缩包“struts2所有包和配置文件”包含了Struts2框架运行所需的核心组件和配置文件。 首先,让我们详细了解一下`web.xml`。这是每个Java Web应用的标准部署描述符,用于配置应用程序的基本设置,比如Servlet、...

    struts2 配置文件

    ### Struts2 配置文件详解 #### 一、引言 在Struts2框架的应用开发过程中,配置文件起到了至关重要的作用。Struts2主要依赖于两种基于XML的配置文件:`web.xml` 和 `struts-config.xml`(通常命名为 `struts.xml`)...

    struts2的struts.properties配置文件详解

    Struts2的Struts.properties配置文件详解 Struts2是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件...

    Struts2 与Freemarker 的配置方法

    总结来说,Struts2与Freemarker的配置主要是围绕工程的环境搭建、Struts2的web.xml配置、struts.xml配置以及Freemarker模板的编写展开的。通过这种集成,开发者可以利用Struts2的强大控制逻辑和Freemarker的模板能力...

    简述STRUTS2_Convention零配置

    STRUTS2 Convention 零配置是Struts2框架中的一种高级特性,旨在简化应用程序的配置,让开发者能够更快地构建MVC应用。从Struts2.1版本开始,推荐使用Convention插件替代Codebehind插件,因为它更加自动化,几乎无需...

    struts2的属性配置

    以下是关于Struts2属性配置的详细说明: 1. **struts.xml配置**: Struts2的核心配置文件是`struts.xml`,通常位于类路径(classes根目录下)。这个文件包含了Action配置、拦截器堆栈、常量定义等关键信息。例如,...

Global site tag (gtag.js) - Google Analytics