第6章Struts2的其他应用ppt课件_第1页
第6章Struts2的其他应用ppt课件_第2页
第6章Struts2的其他应用ppt课件_第3页
第6章Struts2的其他应用ppt课件_第4页
第6章Struts2的其他应用ppt课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章 Struts 2的其他运用6.1 Struts 2文件上传文件上传6.2 Struts 2文件下载文件下载6.3 Struts 2国际化运用国际化运用6.1 Struts 2文件上传6.1.1 单文件上传单文件上传【实例【实例6.1】用】用Struts 2的的Common-FileUpload框架上传单个文件。框架上传单个文件。1创建创建Struts 2工程工程建立工程,取工程名为建立工程,取工程名为“StrutsUpload。加载。加载Struts 2包及修正包及修正web.xml文件,配置文件,配置Struts 2,操作同【实例,操作同【实例2.1】的第】的第1步、第步、第2步,不

2、步,不再赘述。再赘述。2修正修正index.jsp在创建工程的时候,勾选自动生成在创建工程的时候,勾选自动生成index.jsp文件,读者可以运用该文文件,读者可以运用该文件,将其中内容交换为本人编写的代码,如下:件,将其中内容交换为本人编写的代码,如下:文件上传文件上传6.1.1 单文件上传3编写编写Action类类前面曾经引见过,功能的处置普通都在前面曾经引见过,功能的处置普通都在Action类中实现;处置完成后,进展类中实现;处置完成后,进展跳转。该跳转。该Action类完成文件的上传任务。在类完成文件的上传任务。在src下建立包下建立包action,在该包下建立,在该包下建立自定义自定

3、义Action类类UploadAction。该类的实现代码为。该类的实现代码为。在在struts.xml中配置该中配置该Action类,代码如下:类,代码如下:/success.jsp6.1.1 单文件上传4建立建立success.jsp上传胜利后,跳转到胜利页面。代码如下:上传胜利后,跳转到胜利页面。代码如下: 胜利页面胜利页面 祝贺他!上传胜利祝贺他!上传胜利6.1.1 单文件上传5部署运转部署运转部署工程,启动部署工程,启动Tomcat,在阅读器中输入,在阅读器中输入“localhost:9080/StrutsUpload/,出现如图,出现如图6.1所示的界面,选择要上传的所示的界面,选

4、择要上传的文件,单击文件,单击“上传按钮,就会跳转到如图上传按钮,就会跳转到如图6.2所示的界面。翻开所示的界面。翻开D盘,在盘,在upload文件夹下可以找到刚上传的文件。文件夹下可以找到刚上传的文件。 6.1.2 多文件上传【实例【实例6.2】在【实例】在【实例6.1】的根底上修正,实现多文件的上传。】的根底上修正,实现多文件的上传。修正修正index.jsp: 文件上传文件上传6.1.2 多文件上传页面修正完成后,就可以修正对应的Action了。代码修正所示。修正完这两个文件就可以了。与上传单个文件一样,部署运转后,选择多个文件,如图6.3所示,然后单击“上传按钮,胜利后跳转到胜利页面,

5、这时可以翻开D盘的upload文件夹查看上传的文件。6.2 Struts 2文件下载【实例【实例6.3】用】用Struts 2框架的功能完成文件下载。框架的功能完成文件下载。1创建创建Struts 2工程工程建立工程,取工程名为建立工程,取工程名为“StrutsDownload。加载。加载Struts 2包及修正包及修正web.xml文件,配置文件,配置Struts 2,操作同【实例,操作同【实例2.1】的第】的第1步、第步、第2步,不再赘述。在工程步,不再赘述。在工程WebRoot下建立一个下建立一个image文件夹,其中放入一个文件文件夹,其中放入一个文件“用例用例.rar,用于本例下,用

6、于本例下载演示之用。载演示之用。2修正修正index.jspindex.jsp修正为:修正为: 文件下载文件下载 下载下载 6.2 Struts 2文件下载3编写编写Action类类Action类类DownloadAction.java代码实现为:代码实现为:package org.action;import java.io.InputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class DownloadAction exte

7、nds ActionSupportprivate String downloadFile;/需求下载的文需求下载的文件途径件途径/生成生成set方法,该值由配置文件传送过来方法,该值由配置文件传送过来public void setDownloadFile(String downloadFile) this.downloadFile = downloadFile;public InputStream getTargetFile()/根据上面给出的文件途根据上面给出的文件途径,生成它的输入流径,生成它的输入流return ServletActionContext.getServletContext

8、().getResourceAsStream(downloadFile);public String execute() throws Exception return SUCCESS;6.2 Struts 2文件下载4配置配置struts.xml文件文件文件下载最重要的任务就是在配置文件中进展配置,下面看其文件下载最重要的任务就是在配置文件中进展配置,下面看其struts.xml文件:文件: /image/用用例例.rar targetFile filename=example.rar 4096 6.2 Struts 2文件下载5部署运转部署运转部署工程,启动部署工程,启动Tomcat,在阅

9、读器中输入,在阅读器中输入“localhost:9080/StrutsDownload/,出现如图,出现如图6.4所示的界面,点击其上所示的界面,点击其上“下载链接,就会弹出下载链接,就会弹出“文件下载对话框,单击文件下载对话框,单击“保管按钮选择存盘途径。保管按钮选择存盘途径。6.3 Struts 2国际化运用6.3.1 国际化原理及资源文件国际化原理及资源文件1命名规那么命名规那么Struts 2的国际化资源文件都是的国际化资源文件都是“*.properties文件,而且该文件文件,而且该文件需求放在工程的需求放在工程的classses文件夹下。就命名规那么而言,国际化资源文文件夹下。就命

10、名规那么而言,国际化资源文件必需命名为件必需命名为“根本称号根本称号_言语代码言语代码_国家代码国家代码.properties,例如,中,例如,中文的国际化资源文件应命名为:文的国际化资源文件应命名为:根本称号根本称号_zh_CN.properties而英文国际化资源文件那么命名为:而英文国际化资源文件那么命名为:根本称号根本称号_en_US.properties6.3.1 国际化原理及资源文件2内容格式内容格式资源文件内容的格式为资源文件内容的格式为“key=value,其中,其中key可以根据程序员本人的喜可以根据程序员本人的喜好来命名,但普通都会命名为容易了解或记忆的称号,而好来命名,但

11、普通都会命名为容易了解或记忆的称号,而value值那么是该值那么是该key对应的值,不同国家言语对应的该值是不同的。例如,英文对应:对应的值,不同国家言语对应的该值是不同的。例如,英文对应:login=login中文那么对应:中文那么对应:login=u767Bu5F55看到这里,读者能够有点迷惑,按常理来说,中文对应的应该是:看到这里,读者能够有点迷惑,按常理来说,中文对应的应该是:login=登录登录6.3.2 资源文件的访问方式1运用运用标签标签标签只能在标签只能在JSP页面中访问国际化资源信息,用法非常简单,该标页面中访问国际化资源信息,用法非常简单,该标签中有个签中有个name属性,

12、将该资源文件的属性,将该资源文件的key赋予该赋予该name即可。例如:即可。例如:页面被恳求时就会显示出页面被恳求时就会显示出“loginView对应的对应的value值。值。2运用标签属性运用标签属性key大部分大部分Struts 2的表单标签都提供了的表单标签都提供了key属性,只需把这个属性,只需把这个key属性的值对属性的值对应到国际化资源文件的应到国际化资源文件的key,就可以实现标签的国际化。例如:,就可以实现标签的国际化。例如:页面被恳求时就会显示国际化资源文件中页面被恳求时就会显示国际化资源文件中key为为“XH对应的值,同样地,对应的值,同样地,假设资源文件中没有该值,就会

13、显示假设资源文件中没有该值,就会显示“XH。6.3.2 资源文件的访问方式3运用运用getText()方法方法getText()运用范围比较广泛,可以在页面运用,也可以在运用范围比较广泛,可以在页面运用,也可以在Action类或校验类或校验配置文件中运用。对于上面两个方法的运用都可以用该方法来替代:配置文件中运用。对于上面两个方法的运用都可以用该方法来替代:运用运用getText()方法可以实现为:方法可以实现为:而在而在Action类中的运用也非常简单,例如,在讲解非表单标签时的类中的运用也非常简单,例如,在讲解非表单标签时的Action类类中有:中有:addFieldError(usern

14、ame,fieldError中保管的中保管的username错误信息错误信息);可以看出,这里的错误信息是程序员直接写上去的,不能实现国际化。假设可以看出,这里的错误信息是程序员直接写上去的,不能实现国际化。假设在资源文件中有对应的在资源文件中有对应的key-value对来表达这个错误信息,那么在对来表达这个错误信息,那么在Acton类中就类中就可以直接根据可以直接根据key来取值:来取值:addFieldError(username,getText(对应对应key的称号的称号);6.3.2 资源文件的访问方式上面是在Action类中运用getText(),还可以在校验配置文件中运用该方法来实

15、现国际化。例如: true username为空!假设资源文件中定义key-value对来描画错误信息“username为空!字样的key为“error,那么配置文件可以改为: true $getText(error) 6.3.3 国际化运用实例【实例【实例6.4】利用】利用Struts 2的的il8n拦截器以及国际化功能,开发如图拦截器以及国际化功能,开发如图6.5所示所示的界面,刚开场为中文页面,假设单击下面的的界面,刚开场为中文页面,假设单击下面的“英文链接,就会出现如图英文链接,就会出现如图6.6所所示的英文页面。示的英文页面。 6.3.3 国际化运用实例1创建创建Struts 2工程

16、工程建立工程,取工程名为建立工程,取工程名为“SelectLanguageLogin。加载。加载Struts 2包及修正包及修正web.xml文件,配置文件,配置Struts 2,操作同【实例,操作同【实例2.1】的第】的第1步、第步、第2步,不再赘述。步,不再赘述。2创建资源文件创建资源文件Struts 2提供了很多加载国际化资源文件的方法。最简单、最常用的方法就提供了很多加载国际化资源文件的方法。最简单、最常用的方法就是加载全局的国际化资源文件,它是经过配置常量实现的。是加载全局的国际化资源文件,它是经过配置常量实现的。在工程在工程src下建立一个名为下建立一个名为“p

17、erties的文件,在其中编写如下方的文件,在其中编写如下方式的代码:式的代码:struts.custom.il8n.resources = 资源文件名资源文件名该例中资源文件名为该例中资源文件名为“message,故,故perties的代码如下:的代码如下:struts.custom.il8n.resources = messgage6.3.3 国际化运用实例下面来建立两个资源文件,分别为英文和中文。1创建英文资源文件。建在src目录下,文件名为message_en_US.properties,代码如下:language = please select languagec

18、hinese = chineseenglish = englishloginView = Login ViewXH = XHKL = KLlogin = login6.3.3 国际化运用实例2创建中文资源文件。创建中文资源文件。在在src下创建文件下创建文件message_zh_CN.properties,在其编辑区,在其编辑区Properties选选项页,单击项页,单击“Add按钮,添加并编辑各属性对应的中文称号,如图按钮,添加并编辑各属性对应的中文称号,如图6.7所示。所示。6.3.3 国际化运用实例3编写编写JSP编写登录页面,在编写登录页面,在index.jsp上修正即可,代码实现为:

19、上修正即可,代码实现为: : 6.3.3 国际化运用实例4编写编写Action本例的目的是表达国际化的运用而非登录验证功能本身,故在本例的目的是表达国际化的运用而非登录验证功能本身,故在Action中不进中不进展任何处置,直接前往展任何处置,直接前往“SUCCESS,Action类的代码如下:类的代码如下:package org.action;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupportpublic String execute() throws Exception return SUCCESS;6.3.3 国际化运用实例5自定义拦截器自定义拦截器采取配置拦截器的方法,在进入采取配置拦截器的方法,在进入“login.action之前先对其进展言语的处置,之前先对其进展言语的处置,拦截器代码实现为:拦截器代码实现为:package erceptor;import java.u

温馨提示

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

评论

0/150

提交评论