Struts2的基本用法课件

上传人:仙*** 文档编号:178288281 上传时间:2022-12-28 格式:PPT 页数:91 大小:1.13MB
收藏 版权申诉 举报 下载
Struts2的基本用法课件_第1页
第1页 / 共91页
Struts2的基本用法课件_第2页
第2页 / 共91页
Struts2的基本用法课件_第3页
第3页 / 共91页
资源描述:

《Struts2的基本用法课件》由会员分享,可在线阅读,更多相关《Struts2的基本用法课件(91页珍藏版)》请在装配图网上搜索。

1、Struts2的基本用法的基本用法第第4讲讲 Struts2的基本用法的基本用法-2掌握掌握Struts2的配置文件的配置文件掌握掌握Struts2中中Action的配置及使用的配置及使用会使用会使用Struts2的国际化的国际化掌握掌握Struts2的标签库的标签库课程目标课程目标Struts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化

2、的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法3Struts2Struts2的常量配置的常量配置 使用使用struts.properties文件来管理常量文件来管理常量该文件包含了系列的该文件包含了系列的key-value对对 注意注意struts.properties文件的路径文件的路径通常放在通常放在web应用的应用的WEB-INF/classes下下 常用的常量介绍常用的常量介绍Struts.i18n.encodingStruts.ui.theme其他常量其他常量Struts2的基本用法的基本用法Struts2Struts2的

3、常量配置的常量配置 Struts2配置常量总共有三种方式配置常量总共有三种方式:通过struts.properties文件文件通过struts.xml文件文件通过Web应用的应用的web.xml文件文件 Struts2框架按照如下搜索顺序加载常量框架按照如下搜索顺序加载常量struts-default.xmlstruts-plugin.xmlstruts.xmlstruts.propertiesweb.xmlStruts2的基本用法的基本用法Struts2Struts2的配置文件介绍的配置文件介绍 struts.properties:定义框架自身的全局变量。:定义框架自身的全局变量。strut

4、s-default.xml:定义框架自身使用的:定义框架自身使用的action映射及映射及result定义。定义。struts-plugin.xml:struts插件使用的配置文件插件使用的配置文件,比如当使用,比如当使用struts和和spring结合时就需要在结合时就需要在web.xml中引用该配置文件。中引用该配置文件。struts.xml:定义应用自身使用的:定义应用自身使用的action映射及映射及result定义;当然我们一般将应用的各个模块分定义;当然我们一般将应用的各个模块分配到不同的配置文件中。配到不同的配置文件中。Struts2的基本用法的基本用法Struts.xmlStr

5、uts.xml配置的主要内容配置的主要内容 Action配置配置 Result配置配置 拦截器配置拦截器配置 包配置包配置 命名空间配置命名空间配置 定义定义Bean 使用通配符使用通配符Struts2的基本用法的基本用法通配符简介通配符简介*:可以匹配可以匹配0个或多个字符,但不能匹配个或多个字符,但不能匹配”/”*:可以匹配可以匹配0个或多个字符,且可以匹配个或多个字符,且可以匹配/character:用来转译用来转译*和和Struts2的基本用法的基本用法通配符简介通配符简介 0 代表整个代表整个path代表的所有字符不包括第代表的所有字符不包括第一个一个/,如,如path“/*Subs

6、cription”中的中的*是是add,那么那么0就是就是addSubscription。1 代表第一个通配符(包括代表第一个通配符(包括*,*,character)所表示的实际内容,如所表示的实际内容,如path“/*Subscription”中的中的*是是add,那么,那么1就是就是add。2 代表第二个通配符(包括代表第二个通配符(包括*,*,character)所表示的实际内容,如所表示的实际内容,如path“/*Subscription*”中的第一个中的第一个*是是add而第二个而第二个*是是test,那么,那么1就是就是add,2就是就是testStruts2的基本用法的基本用法目

7、目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法10概述概述 Struts2不强制要求不强制要求Action类继承任何类继承任何Struts2的基类或接口(低侵入式设计)的基类或接口(低侵入式设计)Struts2通常直接使用通常直接使用Action来封装来封装

8、HTTP请求参数,还可以封装请求参数,还可以封装HTTP处理结果处理结果Struts2的基本用法的基本用法ActionAction接口的定义接口的定义 public static final java.lang.String SUCCESS=success;public static final java.lang.String NONE=none;public static final java.lang.String ERROR=error;public static final java.lang.String INPUT=input;public static final java.l

9、ang.String LOGIN=login;public abstract java.lang.String execute()throws java.lang.Exception;Struts2的基本用法的基本用法ActionSupportActionSupport类类 ActionSupport类是类是Struts2默认的默认的Action处理类,如果开发者的处理类,如果开发者的Action类继承该类继承该ActionSupport类,则会大大简化类,则会大大简化Action的开发的开发 Action继承继承ActionSupport类不是强制的类不是强制的,也可以不继承,也可以不继承S

10、truts2的基本用法的基本用法ActionAction接口的实现接口的实现 扩展扩展ActionSupport类类ValidationAware接口接口validate方法方法execute方法方法other validate和和execute的执行顺序的执行顺序validate先于先于execute执行执行Struts2的基本用法的基本用法ActionAction接口的实现接口的实现 使用本地的资源文件使用本地的资源文件TextProvider接口接口*.properties文件,与类在同一目录下文件,与类在同一目录下 文件名与类名一致文件名与类名一致 使用使用getText()方法查询本

11、地化信息文件方法查询本地化信息文件LocalProvider接口接口 通过调用通过调用AcitonContext.getContext().getLocale()方法方法Struts2的基本用法的基本用法ActionAction访问访问Servlet APIServlet API Struts2的的Action没有与任何的没有与任何的Servlet API耦合,从而能更轻松地测试该耦合,从而能更轻松地测试该Action Struts2提供了一个提供了一个ActionContext类,来类,来访问访问Servlet API 实际操作演示实际操作演示Struts2的基本用法的基本用法ActionA

12、ction直接访问直接访问Servlet APIServlet API 为了在为了在Action中直接访问中直接访问Servlet API,Struts2提供了如下接口:提供了如下接口:ServletContextAwareServletRequestAwareServletResponseAware 尽量避免在尽量避免在Action中直接访问中直接访问Servlet API,以防止和底层代码耦合,破坏代码设计,以防止和底层代码耦合,破坏代码设计的独立性的独立性Struts2的基本用法的基本用法使用使用ServletActionContextServletActionContext访问访问Se

13、rvletAPIServletAPI ServletActionContext工具类中的静态方法:工具类中的静态方法:getPageContext();getRequest();getResponse():getServletContext():Struts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的

14、标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法19包和命名空间包和命名空间 Struts2使用包来组织使用包来组织Action 命名空间的作用命名空间的作用主要处理同一个主要处理同一个Web应用中包含同名应用中包含同名Action的的情况情况命名空间只有一个级别命名空间只有一个级别 实例演示实例演示Struts2的基本用法的基本用法ActionAction的基本配置的基本配置 Action的基本配置的基本配置name属性是必须的属性是必须的 实例演示实例演示Struts2的基本用法的基本用法使用使用ActionAction的动态方法调用的动态方法调用 DMI:Dynam

15、ic Method Invocation 形式:形式:action=“ActionName!MethodName”需要设置需要设置strtus.enable.DynamicMethodInvocation=true 实例演示实例演示Struts2的基本用法的基本用法指定指定MethodMethod属性及使用通配符属性及使用通配符 使用使用action的的method属性属性,可以让一个可以让一个Action执行多个逻辑处理过程执行多个逻辑处理过程 实例演示实例演示Struts2的基本用法的基本用法配置默认配置默认ActionAction 当用户请求找不到对应的当用户请求找不到对应的Action

16、时,系统默时,系统默认的认的Action可以处理用户请求可以处理用户请求 实例演示实例演示Struts2的基本用法的基本用法配置配置ActionAction的默认处理类的默认处理类 实例演示实例演示Struts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts

17、2的基本用法的基本用法26理解处理结果理解处理结果 Action处理完用户请求后,将返回一个处理完用户请求后,将返回一个普通字符串,这个普通字符串就是一个普通字符串,这个普通字符串就是一个逻辑视图名逻辑视图名 Struts2通过配置逻辑视图名和物理视图通过配置逻辑视图名和物理视图资源的映射关系,来把适当的页面呈现资源的映射关系,来把适当的页面呈现给用户给用户 使用使用标签进行配置标签进行配置默认默认name属性的值为属性的值为”success”Struts2的基本用法的基本用法Struts2Struts2支持的支持的ResultResult类型类型 定义在定义在struts-default.x

18、ml文件中文件中默认默认的是的是result类型是类型是dispatcher Struts2内建的内建的result类型类型chain类型类型dispatcher类型类型freemarker类型类型plainText类型类型redirect类型类型redirectAction类型类型其他类型其他类型Struts2的基本用法的基本用法plainTextplainText结果类型结果类型 用于显示实际视图资源的源代码 必须指定charSet参数Struts2的基本用法的基本用法redirect redirect 结果类型结果类型 调用调用sendRedirect(String)方法来转到指方法来转

19、到指定的位置,产生一个新的请求;定的位置,产生一个新的请求;这样做的结果会使刚刚执行的这样做的结果会使刚刚执行的action(包括包括action实例实例,action中的错误消息等中的错误消息等)丢失丢失,不再可用。不再可用。Struts2的基本用法的基本用法redirectAction redirectAction 结果类型结果类型 系统将重新生成一个新请求,只是该请求系统将重新生成一个新请求,只是该请求的的URL不是一个具体的视图资源,而是另不是一个具体的视图资源,而是另一个一个Action。因此前一个。因此前一个Action的处理结的处理结果、请求参数、请求属性都会丢失果、请求参数、请

20、求属性都会丢失 实际操作演示实际操作演示Struts2的基本用法的基本用法Chain Result Chain Result 这个这个result调用另外的一个调用另外的一个action。actionName(默认默认)-被调用的被调用的action的名的名字字 namespace-被调用的被调用的action的名称空间的名称空间。如果名称空间为空,这默认为当前名称。如果名称空间为空,这默认为当前名称空间。空间。method-用于指定目标用于指定目标action的另一个方的另一个方法被调用法被调用.如果空,默认为如果空,默认为execute方法。方法。Struts2的基本用法的基本用法全局结果

21、全局结果 全局结果对所有的全局结果对所有的Action都有效都有效Struts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法34Strtus2Strtus2的异常处理机制的异常处理机制 Struts框架接收到框架接收到Action抛出

22、的异常之后抛出的异常之后,将根据,将根据struts.xml文件配置的异常映射文件配置的异常映射,转入指定的视图资源,转入指定的视图资源 需要在需要在struts.xml文件中配置异常处理文件中配置异常处理Struts2的基本用法的基本用法声明式异常捕获声明式异常捕获 在在struts.xml文件中配置文件中配置,其属性有:,其属性有:exceptionresult 异常映射的分类异常映射的分类局部异常映射局部异常映射全局异常映射全局异常映射 实际操作演示实际操作演示Struts2的基本用法的基本用法输出异常信息输出异常信息 在异常处理页面,可以输出对应的异常信在异常处理页面,可以输出对应的异

23、常信息:息:输出异常对象本身:输出异常对象本身:输出异常堆栈信息:输出异常堆栈信息:Struts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法38概述概述 Struts2引入引入Convertion插件来支持零配置插件来支持零配置 主

24、要特点:约定优于配置主要特点:约定优于配置Struts2的基本用法的基本用法ActionAction的搜索和映射约定的搜索和映射约定 在应用启动的时候,Convention插件会自动搜索位于action、actions、struts、struts2的包及其子包下的所有Java类,以搜索Action类。在应用启动的时候,Convention插件在上述包及其子包的路径下搜索满足如下条件的类来作为Action类:实现com.opensymphony.xwork2.Action的类类名以Action结尾的Java类Struts2的基本用法的基本用法ActionAction的搜索和映射约定的搜索和映射约

25、定 在映射Action的名称的时候,通常遵循如下规则:如果该Action类名以Action作为后缀,那么会将后缀的Action去掉,其他的不做处理。如果该Action类名采用驼峰式的写法,也就是每个单词首字母大写的写法,那么需要把所有字母变成小写,单词与单词之间以中画线隔开。比如有一个Action的名称为HelloWorldAction,那么对应的映射资源的名称为hello-world。(如果是单个词的Action名称,那么把它的所有字母变成小写,作为对应的映射资源的名称。比如Action类名为HelloAction,它是以Action作为后缀的,那么对应的映射资源的名称为先去掉Action后

26、缀,得到Hello,又是单个词的名称,变成小小,那么最终对应的映射资源的名称为hello。Struts2的基本用法的基本用法按约定映射按约定映射ResultResult 默认情况下,convention总会到Web应用的WEB-INFcontent路径下定位物理资源。故定位资源约定为:actionName+resultCode+suffix。当某个逻辑视图找不到对应的视图资源是,convention会自动试图使用actionName+suffix作为物理视图资源。Struts2的基本用法的基本用法按约定映射按约定映射ResultResultAction的URL返回的逻辑视图名对应的物理视图/l

27、oginsuccessWEB-INFcontentlogin-success.jsp/user/loginsuccessWEB-INFcontentuserlogin-success.jsp/user/registerrorWEB-INFcontentuserregist-error.jspStruts2的基本用法的基本用法ActionAction键的约定键的约定 如果想一个Action处理结束后不是进入视图页面,而是进入另一个Action形成Action链。则只需要遵守下面三个约定:1、第一个Action返回的逻辑视图字符串没有对应的视图资源。2、第二个Action与第一个Action处于同

28、一个包下。3、第二个Action映射的URL为:firstactionname+resultcodeStruts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法45什么是国际化什么是国际化 国际化(国际化(Internationaliz

29、ation)是设计一个)是设计一个适用于多种语言和地区的应用程序的过程。适用于多种语言和地区的应用程序的过程。适用于多种语言和地区的含义是当使用不同适用于多种语言和地区的含义是当使用不同语言及处于不同的地区的用户在使用这个应语言及处于不同的地区的用户在使用这个应用程序时,应用程序必须使用他们能看懂的用程序时,应用程序必须使用他们能看懂的语言和符合他们文化习惯来显示信息。语言和符合他们文化习惯来显示信息。国际化有时候被简称为国际化有时候被简称为i18n,因为有,因为有18个字个字母在国际化的英文单词的字母母在国际化的英文单词的字母i和和n之间。之间。Struts2的基本用法的基本用法什么是本地化

30、什么是本地化 本地化(本地化(Localization)是指通过增加本地)是指通过增加本地描述的构件和文字翻译工作来使应用程序适描述的构件和文字翻译工作来使应用程序适应于不同的语言和地区的过程。应于不同的语言和地区的过程。本地化有时候被简称为本地化有时候被简称为l10n,因为有,因为有10个字个字母在本地化的英文单词的字母母在本地化的英文单词的字母l和和n之间。之间。通常本地化最耗时的工作应该是文字翻译。通常本地化最耗时的工作应该是文字翻译。本地化工作者们要根据地区的具体需求来为本地化工作者们要根据地区的具体需求来为日期、数字和通货等数据建立新的格式。其日期、数字和通货等数据建立新的格式。其他

31、类型的数据,象声音,图象等,也需要根他类型的数据,象声音,图象等,也需要根据具体需要来决定是否本地化。据具体需要来决定是否本地化。Struts2的基本用法的基本用法什么是什么是StrutsStruts的国际化的国际化 Struts的国际化是建立在的国际化是建立在Java国际化的基础国际化的基础之上的,一样也是通过提供不同国家之上的,一样也是通过提供不同国家/语言环语言环境的消息资源,然后通过境的消息资源,然后通过ResourceBundle加载指定加载指定Locale对应的资源文件,再取得该对应的资源文件,再取得该资源文件中指定资源文件中指定Key对应的消息。对应的消息。Struts框架对国际

32、化进行了进一步的封装。框架对国际化进行了进一步的封装。Struts2的基本用法的基本用法在struts2中需要做国际化的地方 jsp页面的国际化页面的国际化 action错误信息的国际化错误信息的国际化 转换错误信息的国际化转换错误信息的国际化 校验错误信息的国际化校验错误信息的国际化Struts2的基本用法的基本用法Struts2Struts2访问国际化消息方式访问国际化消息方式(1)JSP页面:页面:(2)Action类中:使用类中:使用ActionSupport类类的的getText方法。方法。(3)表单元素的表单元素的Label里:为表单元素指定里:为表单元素指定一个一个key属性属性

33、Struts2的基本用法的基本用法Struts2Struts2加载资源文件的方式加载资源文件的方式(1)加载全局资源文件加载全局资源文件(2)包范围资源文件包范围资源文件 为Struts2指定包范围资源文件的方法是,在包的根路径下建立多个文件名为package_language_country.properties的文件,一旦建立了这个系列的国际化资源文件,应用中处于该包下的所有Action都可以访问该资源文件。需要注意的是上面的包范围资源文件的baseName就是package,不是Action所在的包名。Struts2的基本用法的基本用法Struts2Struts2加载资源文件的方式加载资

34、源文件的方式(3)Action范围资源文件范围资源文件在Action类文件所在的路径建立多个文件名为ActionName_language_country.properties的文件。(4)临时指定资源文件临时指定资源文件标签的name属性指定临时的国际化资源文件Struts2的基本用法的基本用法Struts2Struts2加载资源文件的顺序Action中加载资源文件,假设我们在某个ChildAction中调用了getText(user.title),Struts2.0的将会执行以下的操作:(1)优先加载系统中保存在ChildAction的类文件相同位置,且baseName为ChildActi

35、on的系列资源文件。(2)如果在(1)中找不到指定key对应的消息,且ChildAction有父类ParentAction,则加载系统中保存在ParentAction的类文件相同位置,且baseName为ParentAction的系列资源文件。Struts2的基本用法的基本用法Struts2Struts2加载资源文件的顺序(3)如果在(2)中找不到指定key对应的消息,且ChildAction有实现接口IChildAction,则加载系统中保存在IChildAction的类文件相同位置,且baseName为IChildAction的系列资源文件。(4)如果在(3)中找不到指定key对应的消息,

36、且ChildAction有实现接口ModelDriven(即使用模型驱动模式),则对于getModel()方法返回的model对象,重新执行第(1)步操作。Struts2的基本用法的基本用法Struts2Struts2加载资源文件的顺序(5)如果在(4)中找不到指定key对应的消息,则查找当前包下baseName为package的系列资源文件。(6)如果在(5)中找不到指定key对应的消息,则沿着当前包上溯,直到最顶层包来查找baseName为package的系列资源文件。(7)如果在(6)中找不到指定key对应的消息,则查找struts.custom.i18n.resources常量指定ba

37、seName的系列资源文件。(8)如果经过上面的步骤一直找不到key对应的消息,将直接输出该key的字符串值。Struts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法56ELEL简介简介 EL语法语法示例:示例:$er.sex示例:

38、示例:$er“sex”EL变量变量属性范围(属性范围(jsp名称)名称)EL中的名称中的名称PagePageScopeRequestRequestScopeSessionSessionScopeApplicationApplicationScopeStruts2的基本用法的基本用法ELEL简介简介范例范例说明说明$ername取出取出Page范围的范围的username变量变量$ername取出取出Request范围的范围的username变量变量$ername取出取出Session范围的范围的username变量变量$ername取出取出Application范围的范围的username变量

39、变量ELEL变量示例变量示例Struts2的基本用法的基本用法ELEL简介简介 自动类型转换自动类型转换$param.count+20String str_count=request.getParameter(count);int count=Integer.parseInt(str_count);count=count+20;EL表达式表达式以前以前Struts2的基本用法的基本用法ELEL简介简介 EL隐含对象(隐含对象(11个)个)PageContextPageScopeRequestScopesessionScopeapplicationScopeParamparamValueshea

40、der/headerValuescookie/initParamStruts2的基本用法的基本用法ELEL简介简介 EL保留字保留字andeqgttrueornelefalsenoltgenullinstanceofemptydivmodStruts2的基本用法的基本用法Struts2Struts2的标签简介的标签简介 Struts 2提供的标签库功能非常强大,而且非提供的标签库功能非常强大,而且非常好用。使用标签来开发可以使得页面更加常好用。使用标签来开发可以使得页面更加整洁容易维护,同样可以减少代码量以及开整洁容易维护,同样可以减少代码量以及开发时间。发时间。Struts 2提供的标签非常

41、之多,其大提供的标签非常之多,其大致分为两类:致分为两类:一类是非用户界面标签,也称为一类是非用户界面标签,也称为非非UI标签(通用标签(通用标签)标签)。控制标签:条件、循环等流程控制控制标签:条件、循环等流程控制数据标签:数据存储和处理数据标签:数据存储和处理一类是用户界面标签,也称为一类是用户界面标签,也称为UI标签标签。表单标签:主要用于生成表单标签:主要用于生成HTML的表单的表单非表单标签:如显示日期、树形菜单非表单标签:如显示日期、树形菜单Struts2的基本用法的基本用法通用标签之通用标签之控制标签控制标签 逻辑控制标签主要用来完成流程控制,如逻辑控制标签主要用来完成流程控制,

42、如分支和循环操作。也可以用来对集合进行分支和循环操作。也可以用来对集合进行合并、排序等操作。合并、排序等操作。Struts2的基本用法的基本用法通用标签之通用标签之控制标签控制标签 Struts 2提供了三个标签用于进行分支流提供了三个标签用于进行分支流程控制,分别是程控制,分别是if标签、标签、else if标签、标签、else标签。其中标签。其中if标签、标签、else if标签提供了一个标签提供了一个test属性用来进行判断。属性用来进行判断。if/elseif/else标签标签的使用和的使用和Java语言中的语言中的if-elseif-else流程流程控制语言使用上是基本类似的。控制语

43、言使用上是基本类似的。实例演示实例演示Struts2的基本用法的基本用法通用标签之通用标签之逻辑控制标签逻辑控制标签 Struts 2提供提供iterator标签用来对集合进行标签用来对集合进行遍历,这里所说的集合包括遍历,这里所说的集合包括List、Set和数和数组以及组以及Map。实例演示实例演示(判断成绩分类判断成绩分类)Struts2的基本用法的基本用法通用标签之通用标签之逻辑控制标签逻辑控制标签 Struts 2中提供中提供append标签用于将多个集标签用于将多个集合拼接组合成一个集合。合拼接组合成一个集合。merge标签同标签同append标签类似,也是用来标签类似,也是用来组合

44、集合成一个新集合。组合集合成一个新集合。generator可以将指定的字符串分隔成多可以将指定的字符串分隔成多个子字符串,并将这些子字符串放置到一个子字符串,并将这些子字符串放置到一个集合中。个集合中。Struts2的基本用法的基本用法通用标签之通用标签之逻辑控制标签逻辑控制标签 subset标签用来取得集合的子集标签用来取得集合的子集 sort标签用来通过指定的标签用来通过指定的Comparator对集对集合中的元素进行排序合中的元素进行排序Struts2的基本用法的基本用法通用标签之通用标签之数据访问标签数据访问标签 数据访问标签用来访问数据访问标签用来访问ValueStack中的数据,中

45、的数据,从而完成数据访问相关功能。例如通过从而完成数据访问相关功能。例如通过action标签可以用来显示标签可以用来显示Action中的属性,通过中的属性,通过bean标签允许直接在标签允许直接在JSP页面中创建页面中创建JavaBean实例实例等。等。每个每个Action类的对象实例会拥有一个类的对象实例会拥有一个ValueStack对象。当对象。当Struts 2接收到一个接收到一个.action的请求后,会先建立的请求后,会先建立Action类的对象实类的对象实例,并且将例,并且将Action类的对象实例压入类的对象实例压入ValueStack对象中。对象中。setValue和和find

46、Value方方法可以设置和获得法可以设置和获得Action对象的属性值。对象的属性值。Struts2的基本用法的基本用法通用标签之通用标签之数据访问标签数据访问标签 action标签用来在标签用来在JSP页面中调用页面中调用Action,通过指定设置其,通过指定设置其executeResult属性为属性为true,能将处理结果对应的视图资源包含,能将处理结果对应的视图资源包含到到JSP页面中。页面中。Struts 2提供提供bean标签允许直接在标签允许直接在JSP页页面中创建面中创建JavaBean实例,可以使用实例,可以使用param标签在该标签在该JavaBean实例传入属性实例传入属性

47、值,也可以通过值,也可以通过property标签输出该标签输出该JavaBean实例的属性值。实例的属性值。Struts2的基本用法的基本用法通用标签之通用标签之数据访问标签数据访问标签 property标签标签 set标签标签 push标签标签Struts2的基本用法的基本用法通用标签之通用标签之数据访问标签数据访问标签 Struts 2提供提供include标签用于将标签用于将JSP页面,页面,或者或者Servlet包含到该页面中。包含到该页面中。Struts 2提供提供url标签用来生成一个标签用来生成一个URL地址地址。其他标签其他标签Struts2的基本用法的基本用法UIUI标签简介

48、标签简介 Struts 2提供了丰富的提供了丰富的UI标签,使用这些标签,使用这些标签可以实现非常好的显示效果。同时标签可以实现非常好的显示效果。同时Struts 2的的UI标签都是基于主题和模板的标签都是基于主题和模板的,通过使用不同的主题或模板就能显示不,通过使用不同的主题或模板就能显示不同的显示效果。同的显示效果。模板:一个文件,能被特定标签输出模板:一个文件,能被特定标签输出 主题:一系列的模板打包。主题:一系列的模板打包。Struts2的基本用法的基本用法UIUI标签之标签之通用属性通用属性 所有的表单标签可以分为两种:所有的表单标签可以分为两种:form标签标签本身和单个表单元素的

49、标签。本身和单个表单元素的标签。所有表单标签处理类都继承了所有表单标签处理类都继承了UIBean类,类,UIBean包含了一些通用属性,这些通用属包含了一些通用属性,这些通用属性分成性分成3种:种:模板相关属性;模板相关属性;javascript相关属性;相关属性;通用属性。通用属性。Struts2的基本用法的基本用法UIUI标签之标签之表单标签表单标签 form标签标签 textfield标签标签 textarea标签标签 checkbox标签标签 select标签标签.Struts2的基本用法的基本用法UIUI标签之标签之非表单标签非表单标签 输出一些表单以外的输出一些表单以外的HTML元

50、素元素 包括包括:1,a:生成一个超链接:生成一个超链接 2,actionerror:如果:如果Action实例的实例的getActionErrors()方法返回不为方法返回不为null,则该标签负责输出该方法返回的系列错误。,则该标签负责输出该方法返回的系列错误。3,actionmessage:如果:如果Action实例的实例的getActionMessages()方法返回不方法返回不为为null,则该标签负责输出该方法返回的系列消息。,则该标签负责输出该方法返回的系列消息。4,component:使用此标签可以生成一个自定义组件。:使用此标签可以生成一个自定义组件。5,div:此标签负责生

51、成一个:此标签负责生成一个div片段片段 6,fielderror:如果:如果Action实例存在表单域的类型转换错误,校验错误,实例存在表单域的类型转换错误,校验错误,该标签则负责输出这些错误提示。该标签则负责输出这些错误提示。7,tabbedPanel:生成:生成HTML页面的页面的Tab页。页。8,tree:生成一个树形结构。:生成一个树形结构。9,treenode:生成树形结构的节点。:生成树形结构的节点。.Struts2的基本用法的基本用法OGNLOGNL介绍介绍 OGNL概述概述Object Graph Navigation Language一般用一般用”#”访问对象访问对象 OG

52、NL中的集合中的集合listmap查找查找过滤过滤Struts2的基本用法的基本用法模板和主题模板和主题 回忆:什么是模板和主题?回忆:什么是模板和主题?Struts2的默认模板的默认模板:FreeMarker模板模板 Struts2的自带主题的自带主题Simple主题主题xhtml主题主题css_xhtml主题主题AJAX主题主题 自定义主题自定义主题Struts2的基本用法的基本用法模板和主题模板和主题 simple主题是最简单的主题,它是最底层的结构,主要主题是最简单的主题,它是最底层的结构,主要用于构建附加的功能或者行为用于构建附加的功能或者行为(例如在此主题基础上进行例如在此主题基础

53、上进行扩展扩展),使用,使用simple主题时,每个主题时,每个UI标签只生成一个简单标签只生成一个简单的的HTML元素,不会生成其他额外的内容。元素,不会生成其他额外的内容。xhtml主题是主题是Struts2的默认主题,它对的默认主题,它对simple主题进行主题进行扩展,在该主题的基础上增加了如下附加的特性:扩展,在该主题的基础上增加了如下附加的特性:1,针对,针对HTML标签标签(如如textfield和和select标签标签)使用标准的使用标准的两列表格布局。两列表格布局。2,每个,每个HTML标签的标签的Label,即可以出现在,即可以出现在HTML元素的元素的左边,也可以出现在上

54、边,这取决于左边,也可以出现在上边,这取决于labelposition属性属性的设置。的设置。3,自动输出校验错误信息。,自动输出校验错误信息。4,输出,输出JavaScript的客户端校验。的客户端校验。Struts2的基本用法的基本用法什么是什么是FreeMarker?FreeMarker?FreeMarker允许允许Java servlet保持图形设保持图形设计同应用程序逻辑的分离,这是通过在模计同应用程序逻辑的分离,这是通过在模板中密封板中密封HTML完成的。模板用完成的。模板用servlet提提供的数据动态地生成供的数据动态地生成 HTML。模板语言是。模板语言是强大的直观的,编译器

55、速度快,输出接近强大的直观的,编译器速度快,输出接近静态静态HTML页面的速度。页面的速度。虽然虽然FreeMarker具有一些编程的能力,但具有一些编程的能力,但通常由通常由Java程序准备要显示的数据,由程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备生成页面,通过模板显示准备的数据的数据Struts2的基本用法的基本用法FreeMarkerFreeMarker运行示意图运行示意图Struts2的基本用法的基本用法FreeMarkerFreeMarker特性特性 1、通用目标、通用目标 2、强大的模板语言、强大的模板语言 3、通用数据模型、通用数据模型 4、为、为We

56、b准备准备 5、智能的国际化和本地化、智能的国际化和本地化 6、强大的、强大的XML处理能力处理能力Struts2的基本用法的基本用法81使用使用FreeMarkerFreeMarker FreeMarker的使用的使用 演示例子演示例子Struts2的基本用法的基本用法Freemarker.ftlFreemarker.ftlStruts2的基本用法的基本用法FreeMarkerServlet.javaFreeMarkerServlet.javaStruts2的基本用法的基本用法Web.xmlWeb.xmlStruts2的基本用法的基本用法运行效果运行效果Struts2的基本用法的基本用法目目

57、 录录 1 Struts2的体系结构的体系结构 2 Struts2的配置文件的配置文件 3 实现实现Action接口接口 4 Result类型与拦截器介绍类型与拦截器介绍 5 EL及标签简介及标签简介 6 FreeMarker简介简介 7 Velocity简介简介 8 本讲小结本讲小结Struts2的基本用法的基本用法87什么是什么是VelocityVelocity 什么是什么是Velocity?如何在如何在Struts2 中使用中使用Velocity?在在VM文件中使用标签文件中使用标签Struts2的基本用法的基本用法使用使用VelocityVelocity Velocity的使用的使用

58、演示例子演示例子Struts2的基本用法的基本用法JasperReportsJasperReports概述概述 什么是什么是JasperReports?有什么作用?有什么作用?在在Struts2中如何使用中如何使用JasperReports 具体实例演示具体实例演示Struts2的基本用法的基本用法目目 录录 1 Struts2的常规配置的常规配置 2 实现实现Action接口接口 3 配置配置Action 4 配置处理结果配置处理结果 5 配置配置Struts2的异常处理的异常处理 6 Convention插件与插件与“约定约定”支持支持 7 使用使用Struts2的国际化的国际化 8 使用使用Struts2的标签库的标签库 9 本讲小结本讲小结Struts2的基本用法的基本用法91本讲小结本讲小结 讲述了讲述了Struts2的基本用法的基本用法 需要多练习才能掌握需要多练习才能掌握

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!