Struts2獲取request的

St

 

在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類來獲取
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"/>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章