struts2 注解配置拦截器 实例
来源:互联网 发布:高考数学知乎 编辑:程序博客网 时间:2024/05/16 17:25
/** * */package com.wonders.stpt.contractReview.action;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.InterceptorRef;import org.apache.struts2.convention.annotation.InterceptorRefs;import org.apache.struts2.convention.annotation.Namespace;import org.apache.struts2.convention.annotation.ParentPackage;import org.apache.struts2.convention.annotation.Result;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import com.opensymphony.xwork2.ModelDriven;import com.wonders.stpt.contractReview.model.bo.WorkflowActivity;import com.wonders.stpt.contractReview.model.vo.ContractReviewVo;import com.wonders.stpt.contractReview.service.ContractReviewService;import com.wonders.stpt.contractReview.util.ContractReviewUtil;import com.wonders.stpt.core.login.entity.vo.TaskUserVo;import com.wonders.stpt.page.model.PageInfo;import com.wonders.stpt.page.model.PageResultSet;import com.wonders.stpt.util.ActionWriter;import com.wonders.stpt.util.StringUtil;/** * @ClassName: ContractReviewAction * @Description: TODO(这里用一句话描述这个类的作用) * @author zhoushun * @date 2013-6-9 上午9:37:12 * */@ParentPackage("custom-default")@Namespace(value="/contractReview")@Controller("contractReviewAction")@Scope("prototype")public class ContractReviewAction extends AbstractParamAction implements ModelDriven<ContractReviewVo>{/** * */private static final long serialVersionUID = 1631323544896056619L;private ActionWriter aw = new ActionWriter(response);private ContractReviewVo vo = new ContractReviewVo();private ContractReviewService service;public ContractReviewService getService() {return service;}@Autowired(required=false)public void setService(@Qualifier("contractReviewService")ContractReviewService service) {this.service = service;}@SuppressWarnings({ "unchecked"})@Action(value="todoList",results={@Result(name="success",location="/contractReview/todoList.jsp")},<span style="color:#ff6666;"><strong>interceptorRefs = {@InterceptorRef(value = "mydefault")} )</strong></span>// 拦截器 public String todoItemList(){String loginNames = "";Map<String, TaskUserVo> userMap = (Map<String, TaskUserVo>)this.request.getSession().getAttribute("deptUsers");for(Map.Entry<String, TaskUserVo> entry : userMap.entrySet()){loginNames += "'"+StringUtil.getNotNullValueString(entry.getKey()) +"'"+",";}if(loginNames.length() > 0){loginNames = loginNames.substring(0, loginNames.length()-1);}String contract_name = this.request.getParameter("contract_name");String contract_identifier = this.request.getParameter("contract_identifier");String contract_money_type_id = this.request.getParameter("contract_money_type_id");String contract_type1_id = this.request.getParameter("contract_type1_id");String contract_type2_id = this.request.getParameter("contract_type2_id");String contract_moneyLt = this.request.getParameter("contract_moneyLt");String contract_moneyGt = this.request.getParameter("contract_moneyGt");String project_charge_dept = this.request.getParameter("project_charge_dept");String contract_group_id = this.request.getParameter("contract_group_id");String purchase_type_id = this.request.getParameter("purchase_type_id");String[] kpi_controls = this.request.getParameterValues("kpi_control");String kpi_control = "";if(kpi_controls != null && kpi_controls.length > 0){for(String temp : kpi_controls){kpi_control += temp + ",";}kpi_control = kpi_control.substring(0, kpi_control.length()-1);}this.request.setAttribute("contract_name", contract_name);this.request.setAttribute("contract_identifier", contract_identifier);this.request.setAttribute("contract_money_type_id", contract_money_type_id);this.request.setAttribute("contract_type1_id", contract_type1_id);this.request.setAttribute("contract_type2_id", contract_type2_id);this.request.setAttribute("contract_moneyLt",contract_moneyLt);this.request.setAttribute("contract_moneyGt", contract_moneyGt);this.request.setAttribute("project_charge_dept", project_charge_dept);this.request.setAttribute("contract_group_id", contract_group_id);this.request.setAttribute("purchase_type_id", purchase_type_id);this.request.setAttribute("kpi_control", kpi_control);int totalRows = this.service.countTodo(contract_name,contract_identifier, contract_money_type_id, contract_type1_id, contract_type2_id, contract_moneyLt, contract_moneyGt, project_charge_dept, contract_group_id, purchase_type_id, kpi_control,loginNames);PageInfo pageinfo = new PageInfo(totalRows, vo.pageSize, vo.page);List<Object[]> list = this.service.findTodoByPage(pageinfo.getBeginIndex(), vo.pageSize,contract_name,contract_identifier, contract_money_type_id, contract_type1_id, contract_type2_id, contract_moneyLt, contract_moneyGt, project_charge_dept, contract_group_id, purchase_type_id, kpi_control,loginNames);//System.out.println("list.size======"+list.size());PageResultSet<Object[]> result = new PageResultSet<Object[]>();result.setList(list);result.setPageInfo(pageinfo);this.request.setAttribute("result", result);return "success";}/** * @Title: getModel * @Description: TODO(这里用一句话描述这个方法的作用) * @param @return 设定文件 * @throws */@Overridepublic ContractReviewVo getModel() {// TODO Auto-generated method stubreturn vo;}}
struts.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="custom-default" extends="struts-default"> <!-- 定义一个拦截器 --> <interceptors> <interceptor name="authority" class="com.wonders.stpt.contractReview.interceptor.AuthInterceptor"> </interceptor> <!-- 拦截器栈 --> <interceptor-stack name="mydefault"> <interceptor-ref name="authority" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> </package><constant name="struts.objectFactory.spring.autoWire.alwaysRespect" value="true"/><constant name="struts.multipart.maxSize" value="25242880" /><constant name="struts.custom.i18n.resources" value="fileUpload"></constant></struts>
过滤器:
/** * @Title: AuthInterceptor.java * @Package com.wonders.stpt.contractReview.interceptor * @Description: TODO(用一句话描述该文件做什么) * @author zhoushun * @date 2014年8月8日 下午3:25:49 * @version V1.0 */package com.wonders.stpt.contractReview.interceptor;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import com.wonders.stpt.core.login.constant.LoginConstant;/** * @ClassName: AuthInterceptor * @Description: TODO(这里用一句话描述这个类的作用) * @author zhoushun * @date 2014年8月8日 下午3:25:49 * */public class AuthInterceptor extends AbstractInterceptor{/** * @Title: intercept * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param arg0* @param @return* @param @throws Exception 设定文件 * @throws */@Overridepublic String intercept(ActionInvocation invocation) throws Exception { // 取得请求相关的ActionContext实例 String result = "";ActionContext ctx = invocation.getInvocationContext(); Map session = ctx.getSession(); String user = (String) session.get(LoginConstant.STPT_SECURITY_LOGIN_NAME); t("begin"); if (user != null && "G00100000123".equals(user)) { result = invocation.invoke(); } else{ result = "error"; } t("end"); return result; }private void t(String s){System.out.println(s);}}
1 0
- struts2 注解配置拦截器 实例
- struts2 注解配置拦截器 实例
- struts2拦截器配置实例
- Struts2拦截器配置实例
- struts2注解下的拦截器配置
- struts2基于注解的拦截器配置
- struts2注解下的拦截器配置
- struts2自定义拦截器注解配置方法
- struts2拦截器--注解
- struts2:使用拦截器注解
- struts2注解式拦截器
- struts2拦截器使用注解
- Struts2使用20 -- 注解配置2 -- 生命周期回调注解(拦截器注解)
- Struts2使用20 -- 注解配置2 -- 生命周期回调注解(拦截器注解)
- Struts2拦截器配置
- struts2 拦截器配置
- Struts2配置拦截器
- 配置struts2拦截器
- Activity组件介绍(一):生命周期
- Junit与testng
- Torch7 教程 Supervised Learning CNN
- 【note】Slave STack Code Tool之各类参数配置
- 烦得很这感觉放个技能发给自己个
- struts2 注解配置拦截器 实例
- NYOj 589 糖果
- 关于 android 输入法 adjustPan无效的解决方法
- Java泛型学习的困惑
- XXX定律C/C++源码实现
- (10)Android布局控件之RelativeLayout详解
- 扬州市唯美膜结构有限公司
- EFM (Explicit Factor Models)显因子模型
- DP算法