struts2中关于ActionContext.put()方法20
在action方法中,调用
ActionContext ctx = ActionContext.getContext();
ctx.put("tip", "Success");
然后在JSP页面上,调用 ${requestScope.tip} 就能输出tip 的值
小弟刚开始看struts2 , 想知道为什么调用 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;
}
}
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.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;
}
}
2011年5月27日 19:44