本文共 2133 字,大约阅读时间需要 7 分钟。
之前网站做的基本差不错了,客户有其他的活动需求,考虑可以用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文件中引入拦截器配置文件
interceptorContext.xml文件内容:
在second.xml配置文件中设置拦截器栈:调用service注入配置
/no_role.jsp /no_role_taian.jsp //${secNo}接受后台传过来的值/login_user.action?url=show_second.action?secNo=${secNo}
转载地址:http://dplpi.baihongyu.com/