package servletApi.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;
public class ServletApi_ActionContext extends ActionSupport {
public String setValue() {
ActionContext ctx = ActionContext.getContext(); // 取得ActionContext,是一個由struts做出來的假context
//ActionContext com.opensymphony.xwork2.ActionContext.getContext()
// public static ActionContext getContext()
// Returns the ActionContext specific to the current thread.
// Returns:
// the ActionContext for the current thread, is never null.
ctx.put("userName", "ctx.put//存放在 request 中的 userName 吳永志");
// 一個request進入容器時,容器就會分出一個thread給他來執行他的任務,所以這個context(thread)就是他的request
Map<String, Object> session = ctx.getSession();
//取得Map<String, Object> com.opensymphony.xwork2.ActionContext.getSession()
//其實都是Action產生的假session,但可以當真的使用
session.put("userName", "ctx.getSession();session.put;////存放在 session 中的 userName 吳永志");
Map<String, Object> application = ctx.getApplication();
//Map<String, Object> com.opensymphony.xwork2.ActionContext.getApplication()
application.put("userName", "ctx.getApplication();application.put;////存放在 application 中的 userName 吳永志");
return "success";
}
}
Struts 2 的 Servlet API
- 取值測試:(EL)
request.userName: ctx.put//存放在 request 中的 userName 吳永志
session.userName: ctx.getSession();session.put;////存放在 session 中的 userName 吳永志
application.userName: ctx.getApplication();application.put;////存放在 application 中的 userName 吳永志
- 取值測試:(OGNL)
request.userName: ctx.put//存放在 request 中的 userName 吳永志
session.userName: ctx.getSession();session.put;////存放在 session 中的 userName 吳永志
application.userName: ctx.getApplication();application.put;////存放在 application 中的 userName 吳永志
留言列表