zoukankan      html  css  js  c++  java
  • struts2访问web资源

    通过ActionContext访问

    public class TestActionContextAction {
    
        public String execute(){
            
            //获取 ActionContext 对象
            ActionContext actionContext = ActionContext.getContext();
            
            //application
            Map<String, Object> applicationMap = actionContext.getApplication();
            
            applicationMap.put("applicationKey", "applicationValue");
            
            //获取属性
            Object date = applicationMap.get("date");
            System.out.println("date: " + date);
            
            //2. session
            Map<String, Object> sessionMap = actionContext.getSession();
            sessionMap.put("sessionKey", "sessionValue");
            
            
            //清空session
            /*if(sessionMap instanceof SessionMap){
                SessionMap sm = (SessionMap) sessionMap;
                sm.invalidate();
                System.out.println("session 失效了. ");
            }*/
            
            //request
            Map<String, Object> requestMap = (Map<String, Object>) actionContext.get("request");
            requestMap.put("requestKey", "requestValue");
            
            //parameter
            Map<String, Parameter> parameters = actionContext.getParameters();
            System.out.println(parameters.get("name"));
            
            return "success";
        }
        
    }

      Aware方式

    public class TestAwareAction implements ApplicationAware, SessionAware, RequestAware
        ,ParameterAware{
        
        public String execute(){
            
            //1. 向 application 中加入一个属性: applicationKey2 - applicationValue2
            application.put("applicationKey", "applicationValue");
            
            //2. 从 application 中读取一个属性 date, 并打印. 
            System.out.println(application.get("date"));
            request.put("requestKey", "requestValue");
            
            session.put("sessionKey", "sessionValue");
        
            
            return "success";
        }
        
        public String save(){
            
            return null;
        }
    
        private Map<String, Object> application;
        
        @Override
        public void setApplication(Map<String, Object> application) {
            this.application = application;
        }
        private Map<String, String[]> parameters;
        @Override
        public void setParameters(Map<String, String[]> parameters) {
            this.parameters = parameters;
        }
    
        private Map<String, Object> request;
        @Override
        public void setRequest(Map<String, Object> request) {
            // TODO Auto-generated method stub
            this.request = request;
            
        }
    
        private Map<String, Object> session;
        @Override
        public void setSession(Map<String, Object> session) {
            // TODO Auto-generated method stub
            this.session = session;
            
        }
        
    }
    public class TestServletAwareAction implements ServletRequestAware,
                                        ServletResponseAware,ServletContextAware{
    
        
        public String execute() {
            request.setAttribute("requestKey", "requestValue");
            request.getSession().setAttribute("sessionKey", "sessionValue");
            System.out.println(request.getParameter("name"));
            
            return "success";
        }
        
        private ServletContext servletContext;
        @Override
        public void setServletContext(ServletContext servletContext) {
            // TODO Auto-generated method stub
            this.servletContext = servletContext;
        }
    
        private HttpServletResponse response;
        @Override
        public void setServletResponse(HttpServletResponse response) {
            // TODO Auto-generated method stub
            this.response = response;
            
        }
    
        private HttpServletRequest request;
        @Override
        public void setServletRequest(HttpServletRequest request) {
            // TODO Auto-generated method stub
            this.request = request;
            
        }
        
    }

    使用ServletActionContext

    public class TestServletActionContext {
        public String execute() {
    ServletRequest request
    = ServletActionContext.getRequest(); ServletResponse response = ServletActionContext.getResponse(); ServletContext con = ServletActionContext.getServletContext(); String name = request.getParameter("name"); return "success"; } }

    jsp页面

    application : ${applicationScope.applicationKey }
        <br><br>
        
        session: ${sessionScope.sessionKey }
        <br><br>
        
        request: ${requestScope.requestKey }
        <br><br>
        
        parameters ${parameters.name }

    struts.xml

     <action name="TestActionContext" class="com.TestActionContextAction">
          <result  name="success">/actionContext.jsp</result>    
     </action>
            
     <action name="TestAware" class="com.TestAwareAction">
          <result>/aware.jsp</result>    
     </action>
     <action name="TestServletAwareAction" 
                class="com.TestServletAwareAction">
            <result name="success">/aware.jsp</result>
      </action>
  • 相关阅读:
    ehcache 的 配置文件: ehcache.xml的认识
    Hibernate的二级缓存(SessionFaction的外置缓存)-----Helloword
    QBC检索和本地SQL检索
    HQL的检索方式
    HQL的第一个程序
    Ubuntu Error: No module named 'apt_pkg' 怎么办?
    Linux 后台运行python .sh等程序,以及查看和关闭后台运行程序操作
    ubuntu install redis/mongo 以及 监控安装
    Mac 上的 redis
    Mac 解决硬盘插入不能写的问题
  • 原文地址:https://www.cnblogs.com/lusufei/p/7275563.html
Copyright © 2011-2022 走看看