• struts2入门---ActionContext


    1.开发环境搭建

    2.简单应用

    我们在index.jsp里面这样写:

    <a href="TestActionContext.action?name=zhoujing&age=21">Test ActionContext</a>

    <%

      if(application.getAttribute("date") == null)
        application.setAttribute("date", new Date());
    %>

    现在我们编写一个java类TestActionContext

    package com.struts.action;
    
    import java.util.Map;
    
    import org.apache.struts2.dispatcher.Parameter;
    
    import com.opensymphony.xwork2.ActionContext;
    
    public class TestActionContext {
        public String execute(){
            //0.  获取ActionContext 对象
            //ActionContext 是Action的上下文对象. 可以从当中获取到当前的Action需要的一切信息
            ActionContext actionContext = ActionContext.getContext(); 
            //通过调用ActionContext 对象的getApplication()方法来获取application对应的Map对象
            //1. 获取application 对应的map 并向其中添加一个属性
            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");
            //3. request
            //ActionContext 中并没有提供getRequest方法来获取Request对应的Map对象
            //需要手工的调用get()方法传入request字符串来获取.
            Map<String, Object> requestMap = (Map<String, Object>) actionContext.get("request");
            requestMap.put("requestKey", "requestValue");
            //4. 获取请求参数对应的map, 并获取指定的参数值.
            //注意: 键: 请求参数的名字.值 : 请求参数的值  键值一一对应直接jsp页面可以直接 parameters.key获取值
            //   parameters这个Map只能读 ,不能写入数据, 如果写入,不出错, 但也不起作用.
            Map<String, Parameter> parameters = actionContext.getParameters();
            System.out.println(parameters.get("name"));
            System.out.println(parameters.get("age"));
            
            return "success";
        }
    }

    session与request的获取属性与application一样的所以就不展示了..

    现在编写跳转后的显示页面test-actionContext.jsp

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

    最后到达的效果就是这样

    会用就好  原理以后用熟悉了自然就懂了......

    文章未经版主同意不可任意转载,如有需要请标明文章出处。
  • 相关阅读:
    java.net.BindException: Address already in use: 解决方法
    openlayers中单击获取要素
    OpenLayers绘制图形
    springboot启动失败( No active profile set, falling back to default profiles: default)
    Java学习日报7.16
    Java学习日报7.15
    Java学习日报7.14
    Java学习日报7.13
    Java学习日报7.12
    Java学习日报7.10
  • 原文地址:https://www.cnblogs.com/qihangzj/p/7208314.html
Copyright © 2020-2023  润新知