struts2的request,session,application
1.第一种方法(实现RequestAware,SessionAware, ApplicationAware接口)
这是最常用的一种方法
(1)WebParaAction.java
package com.ru.action;
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.ActionSupport; import com.ru.domain.User;
//实现RequestAware,SessionAware, ApplicationAware接口
public class webpara extends ActionSupport implements RequestAware,
//接收参数
//调用set方法将属性放到request,session,application里面
//分别实现接口的方法
}
(2)webpara.jsp
<%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%> <% String path = request.getContextPath(); String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”; %>
//添加struts2标签 <%@taglib uri=”/struts-tags” prefix=”s” %> <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”> <html>
</html>
2.第二种方法(使用构造函数配合ActionContext函数)
package com.ru.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.ru.domain.User;
public class WebParaAction extends ActionSupport {
//创建map类型的request,session和application
private Map request1;
private Map session1;
private Map application1;
//从jsp页面获取参数
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
//通过构造函数将属性放入
public WebParaAction() {
request1=(Map)ActionContext.getContext().get(“request”);
session1=ActionContext.getContext().getSession();
application1=ActionContext.getContext().getApplication();
}
//分别调用构造函数中的函数放入属性
@Override
public String execute() throws Exception {
request1.put(“name”,user.getName());
session1.put(“name”, user.getName());
application1.put(“name”, user.getName());
return “ok”;
}
}