首页 > 代码库 > struts2学习笔记之六:struts2的Action访问ServletAPI的几种方式
struts2学习笔记之六:struts2的Action访问ServletAPI的几种方式
方法一:通过ActionContext访问SerlvetAPI,这种方式没有侵入性
Action类部分代码
import com.opensymphony.xwork2.ActionContext; public String execute() throws Exception { if("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())){ //获取Map方式的request //ActionContext.getContext().put("msg", "登录成功"); //获取Map方式的Session //ActionContext.getContext().getSession().put("msg", "登录成功"); //获取Map方式的Application ActionContext.getContext().getApplication().put("msg", "登录成功"); return "success"; } return "error"; }
方法二:通过ServletActionContext访问SerlvetAPI,这种方式没有侵入性,建议使用这种方式
Action类部分代码
import org.apache.struts2.ServletActionContext; public String execute() throws Exception { if("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())){ ServletActionContext.getRequest().setAttribute("msg", "登录成功"); ServletActionContext.getResponse(); ServletActionContext.getPageContext().setAttribute("msg", "登录成功"); ServletActionContext.getRequest().getSession().setAttribute("msg", "登录成功"); return "success"; } return "error"; }
方法三:实现装配接口,实现方法(ServletRequestAware,ServletResponseAware)
Action类
package com.djoker.struts2; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; public class LoginAction implements ServletRequestAware,ServletResponseAware{ private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } private HttpServletRequest request; private HttpServletResponse response; public String execute() throws Exception { if("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())){ this.request.setAttribute("msg", "登录成功"); return "success"; } return "error"; } @Override public void setServletResponse(HttpServletResponse response) { this.response = response; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } }
struts2学习笔记之六:struts2的Action访问ServletAPI的几种方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。