您的位置:首页 > 移动开发

关于struts2中对 request /session/ application 的访问

2011-09-05 10:17 615 查看
//第一种方法

//访问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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: