struts2入門---ActionContext
阿新 • • 發佈:2017-07-20
string struts2入門 ext 簡單 attribute contex 指定 == 不出
1.開發環境搭建
2.簡單應用
我們在index.jsp裏面這樣寫:
<a href="TestActionContext.action?name=zhoujing&age=21">Test ActionContext</a>
<%
if(application.getAttribute("date") == null)
application.setAttribute("date", new Date());
%>
現在我們編寫一個java類TestActionContext
package com.struts.action;import java.util.Map; import org.apache.struts2.dispatcher.Parameter; import com.opensymphony.xwork2.ActionContext; public class TestActionContext { public String execute(){ //0. 獲取ActionContext 對象 //ActionContext 是Action的上下文對象. 可以從當中獲取到當前的Action需要的一切信息 ActionContext actionContext = ActionContext.getContext();//通過調用ActionContext 對象的getApplication()方法來獲取application對應的Map對象 //1. 獲取application 對應的map 並向其中添加一個屬性 Map<String, Object> applicationMap = actionContext.getApplication(); //設置屬性 applicationMap.put("applicationKey", "applicationValue"); //獲取屬性 Object date = applicationMap.get("date"); System.out.println("date: " + date); //2. session Map<String, Object> sessionMap = actionContext.getSession(); sessionMap.put("sessionKey", "sessionValue"); //3. request //ActionContext 中並沒有提供getRequest方法來獲取Request對應的Map對象 //需要手工的調用get()方法傳入request字符串來獲取. Map<String, Object> requestMap = (Map<String, Object>) actionContext.get("request"); requestMap.put("requestKey", "requestValue"); //4. 獲取請求參數對應的map, 並獲取指定的參數值. //註意: 鍵: 請求參數的名字.值 : 請求參數的值 鍵值一一對應直接jsp頁面可以直接 parameters.key獲取值 // parameters這個Map只能讀 ,不能寫入數據, 如果寫入,不出錯, 但也不起作用. Map<String, Parameter> parameters = actionContext.getParameters(); System.out.println(parameters.get("name")); System.out.println(parameters.get("age")); return "success"; } }
session與request的獲取屬性與application一樣的所以就不展示了..
現在編寫跳轉後的顯示頁面test-actionContext.jsp
application: ${applicationScope.applicationKey } <br><br> session: ${sessionScope.sessionKey } <br><br> request: ${requestScope.requestKey } <br><br> name: ${parameters.name} <br><br> age: ${parameters.age}
最後到達的效果就是這樣
會用就好 原理以後用熟悉了自然就懂了......
struts2入門---ActionContext