struts2 页面跳转控制传参问题

之前网站做的基本差不错了,客户有其他的活动需求,考虑可以用struts2的拦截器实现

拦截器代码:

package org.main.manage.interceptor.temp;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.main.common.util.PropertyUtil;
import org.main.manage.dict.OrderDict;
import org.main.manage.entity.TSecond;
import org.main.manage.entity.TUser;
import org.main.manage.service.OrderService;
import org.main.manage.service.SecondService;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public class TaiAnCBCSecTempInterceptor implements Interceptor {
	private static final long serialVersionUID = -2578561479301489061L;
	private SecondService secondService;
	private OrderService orderService;

	public OrderService getOrderService() {
		return orderService;
	}

	public void setOrderService(OrderService orderService) {
		this.orderService = orderService;
	}

	public SecondService getSecondService() {
		return secondService;
	}

	public void setSecondService(SecondService secondService) {
		this.secondService = secondService;
	}

	public void destroy() {
	}

	public void init() {
		System.out.println("拦截器初始化完毕");
	}

	public String intercept(ActionInvocation invocation) throws Exception {
		ActionContext ctx = invocation.getInvocationContext();    

		Map session = ctx.getSession();
		TUser user = (TUser)session.get("user");
		if(null == user){
			return "login";
		}
		
		HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
		String secNo = request.getParameter("secNo");
		if(不符合逻辑){
			//提示页面
			return "no_role_taian";
		}
 		//执行action
		return invocation.invoke();
	}

}

applicationContext.xml文件中引入拦截器配置文件

<import resource="interceptorContext.xml"/>

interceptorContext.xml文件内容:

<!-- 活动Struts拦截器struts过滤器测试 -->
<bean id="taiAnCBCSecTempInterceptor" class="org.main.manage.interceptor.temp.TaiAnCBCSecTempInterceptor">
	调用service注入配置
	<property name="orderService" ref="orderService"></property>
	<property name="secondService" ref="secondService"></property>
</bean>
在second.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>
	<package name="second" extends="default">

		<interceptors>
			<interceptor name="taiAnCBCSecTempInterceptor" class="taiAnCBCSecTempInterceptor" />
				
			<interceptor-stack name="cbcSecTempInterceptorStack">
				<interceptor-ref name="defaultStack"/>
				<interceptor-ref name="params"/>
				<!-- 活动Struts拦截器struts过滤器测试 -->
				<interceptor-ref name="taiAnCBCSecTempInterceptor" />
			</interceptor-stack>
		</interceptors>

		<!-- WEB \\\\-->
		<action name="show_second" class="secondWeb" method="show_second">
			<interceptor-ref name="cbcSecTempInterceptorStack"></interceptor-ref>
			<result name="no_role" type="redirect">/no_role.jsp</result>
			<result name="no_role_taian" type="redirect">/no_role_taian.jsp</result>
			//${secNo}接受后台传过来的值
			<result name="login" type="redirect">/login_user.action?url=show_second.action?secNo=${secNo}</result>
		</action>
		<!--\\\\ WEB -->
	</package>
</struts>































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值