第二章 Action及其动态调用.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 Action及其动态调用

用户登录成功后,将用户名保存在session中,供多个页面和Action使用 在Struts 2 中通过Action属性的数据绑定降低了对request的使用需求,但是对于session、application还是有使用需求的 与Servlet API解耦的访问方式 与Servlet API耦合的访问方式 Struts2访问Servlet API 与Servlet API解耦的访问方式 Struts 2对Servlet API进行封装,提供了三个Map对象代替request、session、application 通过ActionContext类获取这三个Map对象 Object get(request) Map getSession() Map getApplication() Struts 2访问Servlet API public class LoginAction { private static final String CURRENT_USER = CURRENT_USER; … //省略username、password属性及其setter和getter方法 public String execute() { if(“admin.equals(username) “123.equals(password)) { MapString,Object session = null; session = ActionContext.getContext().getSession(); if(session.containsKey(CURRENT_USER)) { session.remove(CURRENT_USER); } session.put(CURRENT_USER, username); return success; } else { return fail; } } } 将用户名存入session 获取session 与Servlet API耦合的访问方式 通过ServletActionContext类获取Servlet API对象 ServletContext getServletContext() HttpServletResponse getResponse() HttpServletRequest getRequest() 通过request.getSession()获取session对象 通过xxx.setAttribute()和xxx.getAttribute() 功能,在不同的页面或Action中传递数据 Struts 2访问Servlet API public class LoginAction { private static final String CURRENT_USER = CURRENT_USER; … //省略username、password属性及其setter和getter方法 public String execute() { if(jbit.equals(username) bdqn.equals(password)) { HttpSession session = null; session = ServletActionContext.getRequest().getSession(); if(session.getAttribute(CURRENT_USER) != null) { session.removeAttribute(CURRENT_USER); } session.setAttribute(CURRENT_USER, username); return success; } else { return fail; } } } 将用户名存入session 获取session 在Action中访问ServletAPI 开发时,可能必须在Action中访问Servlet的API,那么可以通过以下方式进行 通过ActionContext访问ServletAPI 通过IoC(控制反转)方式访问ServletAPI 需要实现如下接口 RequestAware SessionAware ApplicationAware 以上两种方式访问得到Servlet 中的对象都为Map类型对象,一般情况下已经可以满足开发需要。 Struts 2 Action 配置默认Action 如果没有一个Action匹配请求,默认Action将被执行 通过default-action-ref …

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档