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

  1. 取值測試:(EL)
    request.userName: ctx.put//存放在 request 中的 userName 吳永志 
    session.userName: ctx.getSession();session.put;////存放在 session 中的 userName 吳永志 
    application.userName: ctx.getApplication();application.put;////存放在 application 中的 userName 吳永志
     
  2. 取值測試:(OGNL)
    request.userName: ctx.put//存放在 request 中的 userName 吳永志
    session.userName: ctx.getSession();session.put;////存放在 session 中的 userName 吳永志
    application.userName: ctx.getApplication();application.put;////存放在 application 中的 userName 吳永志
創作者介紹

學習筆記專區

乙方 發表在 痞客邦 PIXNET 留言(0) 人氣()