struts2中使用serclet的session,application等内置对象
来源:互联网 发布:电脑机器人编程软件 编辑:程序博客网 时间:2024/06/07 11:14
在MVC模式中,我们对servlet、session、application三大对象并不陌生,是JSP的内置对象,对于我们在页面与servlet之间传值,交互等,有很大作用,到了Struts1中,我们依然可以建立一个**ACTION来继承Action,然后在public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response){}中使用request与response等,那么在Struts2中execute()方法不需要继承任何类,那么我们如何实现以上的作用呢,在Struts2中有三个方法,可以实现上面的功能。
1、使用Struts2的ActionContext对象
- public String execute(){
- ActionContext context = ActionContext.getContext();
- String path=this.NONE;
- if("liping".equals(this.getUsername())&"123456".equals(this.getUserpassword())){
- path="succ";
- context.put("name", this.getUsername());
- }else{
- context.getSession().put("message", "你登录失败了!");
- path="fail";
- }
- return path;
- }
2、使用Struts2的ServletActionContext对象
- public String execute(){
- ServletActionContext context=null;
- String path=this.NONE;
- if("liping".equals(this.getUsername())&"123456".equals(this.getUserpassword())){
- path="succ";
- //context.put("name", this.getUsername());
- context.getRequest().setAttribute("name", this.getUsername());
- }else{
- //context.getSession().put("message", "你登录失败了!");
- context.getRequest().getSession().setAttribute("message", "你登录失败了!");
- path="fail";
- }
- return path;
- }
3、需使用org.apache.struts2.interceptor org.apache.struts2.util包下的
//ServletRequestAware,SessionAware,ServletContextAware,ServletResponseAware
- public class LoginAction implements Action,ServletRequestAware,SessionAware,ServletContextAware,ServletResponseAware{
- private HttpServletRequest request;
- private Map<String, Object> session;
- private ServletContext application;
- private HttpServletResponse response;
- private String username;
- private String userpassword;
- private String abc;
- public String getAbc() {
- return abc;
- }
- public void setAbc(String abc) {
- this.abc = abc;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getUserpassword() {
- return userpassword;
- }
- public void setUserpassword(String userpassword) {
- this.userpassword = userpassword;
- }
- //使用传统的servlet session application对象
- //需使用org.apache.struts2.interceptor org.apache.struts2.util包下的
- //ServletRequestAware,SessionAware,ServletContextAware,ServletResponseAware
- public String execute1(){
- //ActionContext context = ActionContext.getContext();
- String path=this.NONE;
- if("liping".equals(this.getUsername())&"123456".equals(this.getUserpassword())){
- path="succ";
- request.setAttribute("name", this.getUsername());
- this.setAbc("欢迎你!");
- }else{
- //context.getSession().put("message", "你登录失败了!");
- session.put("message", "你登录失败了!");
- path="fail";
- }
- return path;
- }
- public void setServletRequest(HttpServletRequest request) {
- this.request=request;
- }
- public void setSession(Map<String, Object> session) {
- this.session=session;
- }
- public void setServletContext(ServletContext application) {
- this.application=application;
- }
- public void setServletResponse(HttpServletResponse response) {
- this.response=response;
- }
- }
这样,就可以实现了。一般第二种方法比较常用。
- struts2中使用serclet的session,application等内置对象
- struts2中获取request,session,application等属性范围对象
- 在Struts2中使用类似传统的servlet、session、application作用域对象
- Struts2的Action中获取request,session,application对象
- Struts2中request、response、session、application对象的访问方法
- ASP.NET,保存信息的内置对象,如Application,Session,Cookie,Viewstate和Cache等
- Struts2中获取request,session,application对象
- Struts2中获取request,session,application对象
- Struts2中获取request,session,application对象
- Struts2中如何使用session、request等对象
- Struts2系统学习(9)Action中操作request/session/application等对象
- 编写一个JSP文件,使用pageContext内置对象来获取由session、request和application内置对象设置的属性。
- http的内置对象 Session Application Global.aspx文件
- struts2中freemarker访问request session Application parameter对象
- struts2中freemarker访问request session Application parameter对象
- struts2中freemarker访问request session Application parameter对象
- Struts2中获取|session|application|request|对象(七)
- Struts2在Action获取内置对象request,session,application(即ServletContext)
- 画函数图形的C#程序
- (转)JAVA存储过程
- PKU 1083 Moving Tables
- ios开发学习-网络(Networking) 效果源码分享--系列教程
- setsockopt设置socket状态
- struts2中使用serclet的session,application等内置对象
- zoj 1002 Fire Net
- 自旋锁(spinlock) 解释得经典,透彻
- <context:annotation-config />
- 点点滴滴
- 笔记5:Factory Method 工厂方法模式(创建型模式)
- (转)ORACLE中非常好用的类型转换函数CAST
- PHP学习 --smarty 过滤器 缓存等
- AddressBookUI.Framwork应用之ABPersonViewController, ABUnknownPersonViewController,ABNewPersonViewContro