struts2域值操作

1.通过servletActionContext类

 /***
* 获得方式一:通过ServletActionContext类
* 提供的静态方法获得原始的web对象,直接和servlet的API耦合
* 如果需要获得原始的web对象,只能选择ServletActionContext类
* **/
public String method01()
{
//获得HttpServletRequest对象
HttpServletRequest request= ServletActionContext.getRequest();
//获得HttpServletResponse对象
HttpServletResponse response=ServletActionContext.getResponse();
//获得HttpSession对象
HttpSession session=request.getSession();
//获得Application对象
ServletContext application=ServletActionContext.getServletContext();
//给web对象中封装数据
request.setAttribute("req", "method01----req");
session.setAttribute("sin", "method01----sin");
application.setAttribute("app", "method01----app");
return Action.SUCCESS;
}

2.通过ActionContext获得

ServletActionContext extends ActionContext

 /**
* 方式二:
* struts2框架将web对象封装到Map集合中。
* ActionContext将获得web对象全部转化为Map,不需要依赖web容器,
* 完成和servlet的api解耦合
*
* ***/
public String method02()
{
//相当于request对象
ActionContext ac=ActionContext.getContext();
Map<String,Object> session=ac.getSession(); //相当于sessoin对象
Map<String,Object> application=ac.getApplication();//相当于application
ac.put("req", "method02---req");
session.put("sin", "method02----sin");
application.put("app", "method02----app");
return Action.SUCCESS;
}

3. 通过struts2框架注入web对象

3.1定义BaseAction

 /****需要实现特定的接口****/
public class BaseAction implements RequestAware,SessionAware,ApplicationAware
{
protected Map<String,Object> request;
protected Map<String,Object> session;
protected Map<String,Object> application;
@Override
public void setRequest(Map<String, Object> request)
{
System.out.println("setRequest------"+request);
this.request=request;
}
@Override
public void setSession(Map<String, Object> session)
{
System.out.println("setSession------"+session);
this.session=session;
}
@Override
public void setApplication(Map<String, Object> application)
{
//System.out.println("setApplication------"+application);
this.application=application;
}
}

3.2web对象的获得

 /***
* 方式三:通过struts2框架完成web对象的注入
* 需要实现特定的接口,而重写的接口的方法,由struts2框架自己调用,
* 只需要定义相应Map变量,接收setXxx的形参
* 完成了和servletAPI的解耦合
* 同时完了对象的获取和对象的使用之间的解耦合
* IOC注入方式获得web对象(程序员只需要定义变量接收值,由struts2框架完成赋值)
* ***/
public String method03()
{
request.put("req", "method03----req");
session.put("sin", "method03----sin");
application.put("app", "method03----app");
return Action.SUCCESS;
}
上一篇:Flink本地环境安装部署


下一篇:js+css3文字模糊代码