77范文网 - 专业文章范例文档资料分享平台

Struts2开发手册- 马士兵 - 图文(4)

来源:网络收集 时间:2019-04-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Struts学习笔记 第16页 共39页

import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware { } 在视图(JSP)页面中获取相关对象,同方式一。

三、 方式三:获取原类型

private Map request; private Map session; private Map application; //DI dependency injection依赖注入 //IoC inverse of control控制反转 public String execute() { } @Override public void setRequest(Map request) { } @Override public void setSession(Map session) { } @Override public void setApplication(Map application) { } this.application = application; this.session = session; this.request = request; request.put(\, \); session.put(\, \); application.put(\, \); return SUCCESS; 获取是的HttpServletRequest/HttpSession/ServletContext public class LoginAction3 extends ActionSupport { private HttpServletRequest request; private HttpSession session; private ServletContext application; public LoginAction3() { } public String execute() { } request.setAttribute(\, \); session.setAttribute(\, \); application.setAttribute(\, \); return SUCCESS; request = ServletActionContext.getRequest(); session = request.getSession(); application = session.getServletContext(); Struts学习笔记 第17页 共39页

}

四、 方式四:获取原类型-控制反转

首先需要Action实现org.apache.struts2.interceptor.ServletRequestAware接口,然后重写setServletRequest()方法,获取HttpServletRequest对象,再通过HttpServletRequest对象取昨HttpSession和ServletContext对象。

import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.interceptor.ServletRequestAware; import com.opensymphony.xwork2.ActionSupport; public class LoginAction4 extends ActionSupport implements ServletRequestAware { } 十三、 Struts2配置文件模块化包含(include)

private HttpServletRequest request; private HttpSession session; private ServletContext application; public String execute() { } @Override public void setServletRequest(HttpServletRequest request) { } this.request = request; this.session = request.getSession(); this.application = session.getServletContext(); request.setAttribute(\, \); session.setAttribute(\, \); application.setAttribute(\, \); return SUCCESS; 标签

当Struts配置文件比较多,需要模块化划分或分开成为多个配置文件时,这个功能比较好。

则需要使用标签把其它的配置文件引入到Struts.xml配置文件中就可以了。 例如:有一个login.xml配置文件如下: /user_login_success.jsp Struts学习笔记 第18页 共39页

则需要在struts.xml文件中使用标签将其引入就可以了。Struts.xml如下

十四、 默认的Action

当用户访问的namespace下一个不存在的Action,则会将使用默认的Action。

使用标签 其中 name属性指向下面已经定义的Action名称了。 /default.jsp 当前访问namespace=”/”下不存在的Action时,则返回自动转到访问/default.jsp页面。

十五、 Action总结

1、 实现一个Action的最常用的方式:从ActionSupport继承 2、 DMI动态方式的调用:! 3、 通配符配置:* {1} {2}

4、 接收参数的方式(一般属性或DomainModel来接收) 5、 简单参数验证addFieldError

a) 一般不使用Struts的UI标签 6、 访问Web元素

a) Map类型

i. IoC ii.

依赖Struts2

b) 原始类型 i. IoC ii.

依赖Struts2

7、 包含文件配置

Struts学习笔记 第19页 共39页

02 Struts2-Result

一、 Result类型 (type)

1、 dispatcher

运用服务器跳转 jsp forward 不可以是Action,只可以跳转到视图 2、 redirect

客户端跳转(重定向)-url发生变化 不可以是Action,只可以跳转到视图 3、 chain

跳转到Action (forward action) 可以动用到Action

在访问Action时,Action前面不要加”/” 4、 redirectAction

客户端跳转到Action――-url发生变化 5、 freemarker 6、 httpheader

发送一个http头 7、 stream

下载 8、 velocity 9、 xslt

10、 plaintext

返回页面的源码 11、 titles

把页面分成几块,每个页面都可以动态的指定 /r1.jsp /r2.jsp r1 r2 Struts学习笔记 第20页 共39页

注:当访问不同的namespace下的Action时,则使用如下方式:

dashboard//Action名称 /secure//namespace值 二、 全局结果集(Globle Result)

当有多个Action使用同一个结果集时,则可以使用全局结果集(Globle Result),如下: /main.jsp /index.jsp /user_success.jsp /user_error.jsp Action所对应的Action类如下:

UserAction

public class UserAction extends ActionSupport { } UserAction返回的结果集中有”mainpage”,但是user的Action中并没有”mainpage”的Rsult,这时就会使用全局的结果庥(global-result),这人结果集中有”mainpage” 当其它不同的package需要使用这个全局的Result时,则需要使用标签中的extends属性来指定 /admin.jsp 这时package=”user”中的结果集就可以被package=”admin”中的Action使用了。 继承包含全局的package就可以了。如下: private int type; public int getType() { } public void setType(int type) { } @Override public String execute() throws Exception { } if(type == 1) return \; else if (type == 2) return \; else return \; this.type = type; return type;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Struts2开发手册- 马士兵 - 图文(4)在线全文阅读。

Struts2开发手册- 马士兵 - 图文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/572920.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: