//第一種方法
//訪問session request applicaton的代碼
package com.sp.stution;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class stu extends ActionSupport {
private String name;
private Map request;
private Map session;
private Map application;
public stu(){
request=(Map)ActionContext.getContext().get("request");
session=(Map)ActionContext.getContext().getSession();
application=(Map)ActionContext.getContext().getApplication();
}
//頁面接收代碼
<s:property value="#request.r1"/>!<%=request.getAttribute("r1") %>
<s:property value="#request.r2"/>!<%=session.getAttribute("r2") %>
<s:property value="#request.r3"/>!<%=application.getAttribute("r3") %>
說明:可以看出雖然我們定義的session application request 都是map類型但是在頁面我們可以看出依然可以像在jsp裏面一樣去訪問
session application request說明struts已經給我們做好了由map類型向web內置對象的轉換
//通過實現//RequestAware ,SessionAware,ApplicationAware三//個接口
//代碼如下
package com.sp.stution;
import java.util.Map;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class stu extends ActionSupport implements RequestAware ,SessionAware,ApplicationAware {
private String name;
private Map<String, Object> request;
private Map<String,Object> session;
private Map<String,Object> application;
public void setRequest(Map<String, Object> request){
this.request=request;
}
public void setSession(Map<String, Object> session){
this.session=session;
}
public void setApplication(Map<String, Object> application){
this.application=application;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String add(){
if(name!="lingkai"){
this.addFieldError("name", "cuoqu");
this.addFieldError("name","you name is too long");
request.put("r1", "re");
session.put("r2", "r2");
application.put("r3", "r3");
return ERROR;
}else{
return SUCCESS;
}
}
}
//運用的是spring的控制反轉思想
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lingkaigood123/archive/2010/05/31/5637230.aspx