struts2中关于ActionContext.put()方法

来源:互联网 发布:检测电源的软件 编辑:程序博客网 时间:2024/05/17 18:48
00

struts2中关于ActionContext.put()方法20

    在action方法中,调用 
    ActionContext ctx = ActionContext.getContext(); 
    ctx.put("tip", "Success"); 
    然后在JSP页面上,调用   ${requestScope.tip} 就能输出tip 的值 
    小弟刚开始看struts2 , 想知道为什么调用 ctx.put() 方法,可以把一个属性添加到 request 中? 希望各位大侠多多帮忙啊

问题补充:
BillyJoy 写道
ActionContext ctx = ActionContext.getContext(); 
ctx.getApplication().put("", "");//application作用域 
ctx.getSession().put("", "");//session作用域 
ctx.put("", ""); //request作用域

谢谢你的回答。 
我想知道的是 ctx.put("", "");是怎样把一个属性放到request中的?在源代码里找了好久也没有找到相关的语句。。。。。。。。。 
对于session,通过以下语句,application也是一样的,但在ActionContext中没有getRequest()方法,所有比较晕。。。。。 

ActionContext.getSession()方法返回sessionMap 
public Map<String, Object> getSession() { 
        return (Map<String, Object>) get(SESSION); 
    } 

sessionMap 中的put方法,调用session.setAttribute(key.toString(), value); 
public V put(K key, V value) { 
        synchronized (this) { 
            if (session == null) { 
                session = request.getSession(true); 
            } 
        } 
        synchronized (session) { 
            V oldValue = get(key); 
            entries = null; 
            session.setAttribute(key.toString(), value); 
            return oldValue; 
        } 
    }
Struts 
2011年5月27日 19:44

    0 0