在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作下面先看一个采用第一种方式,在action中得到session的例子
package s2.ex.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class SessionTestAction extends ActionSupport {
public String execute() {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put("USER_NAME", "Test User");
return SUCCESS;
}
}在这个例子中,通过ActionContext得到session,并往session里放置一个key为USER_NAME,值为Test User的内容。下面是一个实现org.apache.struts2.interceptor.SessionAware接口来对session操作的例子
package s2.ex.action;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
public class SessionTest1Action extends ActionSupport implements SessionAware {
private Map session;
public void setSession(Map session) {
this.session = session;
}
public String execute() {
this.session.put("USER_NAME", "Test User 1");
return SUCCESS;
}
}
在这个例子中实现了接口SessionAware中的setSession方法。上面两种方式都可以得到session,能实现的功能都是一样的。这里推荐通过第二种方式来使用session,原因是便于做单体测试,用第二种方式,只需要构造一个Map就可以对action class进行单体测试了。
分享到:
相关推荐
Struts2的Action中获得request response session几种方法
记录了如何在struts2的action中使用session,方便以后直接引用
另外,按照惯例,在Struts1.x中只有“execute”方法能调用Action, 但在Struts2中并非必要,任何声明为public String methodName() 方法,都能通过配置来调用Action。 最后,和Struts1.x最大的革命性的不同是,...
2.Struts2和Struts1.x的差别, 最明显的就是Struts2是一个pull-MVC架构。 这是什么意思呢?从开发者角度看, ... Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。
在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到 1.通过ActionContext class中的方法getSession得到 2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session...
即action中下面方法 return的model 对象引用 public OperatingConditionsEntity getModel() { return model; } 2.加#号的放置获取,放置在制定域中,需要理解 jsp 九大对象四个作用域 a.例如放置在...
在Web应用程序开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话 (Session)的一些信息, 甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应...
作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...
3:在action类中取得request和session对象的方法 Map session = ActionContext.getContext().getSession(); HttpServletRequest request = ServletActionContext.getRequest (); 设置它们的值的方法
struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet....
@locale:指定是否把Locale对象保存到当前用户的session中,默认为false @processorClass:指定负责处理请求的Java类的完整类名.默认org.apache.struts.action.RequestProcessor @tempDir:指定文件上传时的临时工作...
将用户信息保存到Session中。 Map, Object> session = ActionContext.getContext().getSession(); session.put("userName", userName); session.put("passWord", passWord); // 2. taglib标识传递 resultMsg =...
后台服务器端采用struts2实现日程安排信息的保存,这里没有连接的数据库,只是将这些信息保存到session里,主要是为了实现保存日程安排的数据而添加的功能,要改成数据库的话只需要在action调用相应的底层代码就ok了...
action: 是struts中action层 主要处理表现层的东西 facade:只是一个门面模式(不起多大的作用)主要是处理耦合性问题 session:处理业务逻辑的 dao:数据控制层 调用过程是:action -->facade-->session-->dao ...
12.2.3 Session(提供Connection) 12.3 使用Hibernate操作数据库的示例 12.3.1 创建数据库表 12.3.2 编写表对应的JavaBean 12.3.3 编写JavaBean对应的Xml 12.3.4 编写Hibernate的配置文件 12.3.5 编写并验证测试...
import org.apache.struts2.ServletActionContext; import sunyang.functions.domain.Function; import sunyang.functions.service.IFunctionFacade; import sunyang.module.domain.Module; import ...
书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。书中...
ID VARCHAR2(32) not null, SINGER VARCHAR2(100), MUSICNAME VARCHAR2(200), LYRIC VARCHAR2(4000) ) <br> 优化了界面布局.(第一个写的是太丑了一点.) 优化了action的相关方法逻辑和接口...