Struts2獲取request三種方法

Struts2獲取request三種方法


Struts2獲取request三種方法

struts2裏面有三種方法能夠獲取request,最好使用ServletRequestAware接口經過IOC機制注入Request對象。
在Action中獲取request方法一:
 
在Action中的代碼:
Map request = (Map)ActionContext.getContext().get("request");
List<Task> tasks = taskManager.findAll();
request.put("tasks", tasks);
 
在JSP頁面中獲取其中的值:
<s:iterator id="task" value="#request.tasks">
    <tr class="table_header">
     <td><s:property value="#task.tname"/></td>
     <td><s:property value="#task.tuid"/></td>
     <td><s:property value="#task.tstartTime"/></td>
     <td><s:property value="#task.tendTime"/></td>
     <td><s:property value="#task.tstate"/></td>
     <td><input type="radio" id="choose" name="choose" onclick="getId(this.value)" value="<s:property value='#task.tid'/>"/></td> 
    </tr>
</s:iterator>
--------------------------------------------------------------------------------------------
方法二:經過ServletActionContext類來獲取,使用struts2經驗若是處理get傳參是中文,只能使用該方法進行處理亂碼問題
 
Action中代碼:
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("username", "zhangsan");
 
在jsp中獲取其中的值
   <s:property value="#request.username">或者${requestScope.req}
-------------------------------------------------------------------------------------------- 
方法三:經過ServletRequestAware接口經過IOC機制注入Request對象
Action中的代碼:
Action實現ServletRequestAware接口,實現接口中的方法
   private HttpServletRequest request;
   //實現接口中的方法
   public void setServletRequest(HttpServletRequest request){
    this.request = request;
   }
   //而後在execute()方法中就能夠使用了
   public String execute(){
    request.setAttribute("username", "zhangsan");
    request.getSession().getServletContext().getApplication(); //獲得Application
   }
   該方法必需要實現,並且該方法是自動被調用
   這個方法在被調用的過程當中,會將建立好的request對象經過參數的方式傳遞給你,你能夠用來賦給你本類中的變量,而後request就能夠使用了
   注意:setServletRequest()方法必定會再execute()方法被調用前執行
 
在jsp頁面中獲取其中的值
<s:property value="#request.task.tname"/>
/本篇文章來源於Java秀,原文出處:http://www.java.sh/article/jsp/1353.html





struts2超連接傳值: <s:a href="info.action?id=%{#list.id}"> <s:property value="#list.title"/></s:a>
相關文章
相關標籤/搜索