欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Struts2的其他应用s.ppt

    • 资源ID:6521444       资源大小:477KB        全文页数:30页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Struts2的其他应用s.ppt

    第6章 Struts 2的其他应用,6.1 Struts 2的文件上传,6.2 Struts 2的文件下载,6.3 Struts 2的国际化应用,6.1 Struts 2的文件上传,6.1.1 单文件上传实现Struts 2上传单个文件的功能其实非常简单,只要使用普通的Action即可。但为了获得一些上传文件的信息,如上传文件名等,就需要按照一定规则来为Action类增加一些getter和setter方法。下面举例说明如何实现文件上传并说明需要注意的步骤。首先,把要上传的文件放在指定的文件夹下(“D:/upload”,也可以放在其他文件夹或者放到项目的某个文件夹下),本例是放在D盘中建立的“upload”文件夹下。,6.1.1 单文件上传,1修改index.jsp在创建项目的时候,在项目的WebRoot下会自动生成一个index.jsp文件,读者可以应用该文件修改其中的内容,也可以自己建立JSP文件,这里是使用该index.jsp文件,修改其中的内容。代码实现为:文件上传,6.1.1 单文件上传,2编写Action类前面已经介绍过,功能的处理一般都在Action类中实现;处理完成后,进行跳转。该Action类完成文件的上传工作,在src下建立包action,在该包下建立自定义Action类UploadAction。该类的实现代码。,6.1.1 单文件上传,3struts.xml文件struts.xml是Struts 2应用中必不可少的文件,它是从页面通向Action类的桥梁,配置了该文件后,JSP文件的请求才能顺利地找到要处理请求的Action类。代码如下:/success.jsp,6.1.1 单文件上传,4建立 success.jsp上传成功后,跳转到成功页面。代码如下:成功页面 恭喜你!上传成功!,6.1.1 单文件上传,5部署运行部署项目,启动Tomcat,在浏览器中输入“http:/localhost:8080/StrutsUpload/index.jsp”,出现如图6.1所示的界面,选择要上传的文件,单击“上传”按钮,就会跳转到如图6.2所示的界面。打开D盘,在upload文件夹下可以找到该上传的文件。,图6.1 运行界面 图6.2 成功界面,6.1.2 多文件上传,下面在上传单文件示例的基础上进行修改,介绍如何实现多文件上传。修改index.jsp:文件上传,6.1.2 多文件上传,注意:它们的名字必须相同,这样取值时会把它们对应的值都封装到指定的List中。页面修改完成后,就可以修改对应的Action了。代码修改。,6.2 Struts 2的文件下载,对于一个以西欧字符命名的文件,其下载只需在代码中用超链接指向要下载的文件即可。例如要下载一个名为“example.rar”的文件,只需在页面用超链接指向该文件的路径:下载/表明要下载的是在image文件夹下的example.rar文件如果要下载的文件是以非西欧字符命名的,就不能这样做了。例如要下载的文件名为“实例.rar”,利用上面的方法就会报错。Struts 2提供了解决的办法:在页面实现一个超链接,该超链接指向一个Action请求,然后在对应的Action类中进行一些属性的处理后直接返回“SUCCESS”,最后在action配置的result中用param配置参数完成文件的下载。下面先介绍这些参数。inputName:该参数用于指定Action类中作为输入流的属性名。contentType:该参数用于指定下载文件的类型。如果指定该参数,当下载一个图片类型时会直接在浏览器上打开;若不配置,则会直接下载到硬盘上。contentDisposition:该参数用于指定下载文件在客户端上的一些属性。例如可以设置保存的文件名,该文件名加入后缀名,并且为西欧字符;如果设置为中文,有可能出现乱码。,6.2 Struts 2的文件下载,bufferSize:该参数用于指定下载文件时缓冲区的大小。下面举例说明其具体用法。首先创建一个项目,项目名为“StrutsDownload”,然后加载Struts 2类库,修改web.xml文件。在项目的WebRoot下建立一个image文件夹,在该文件夹中放入一个文件“实例.rar”,用于该例下载之用。index.jsp修改为:My JSP index.jsp starting page 下载 Action类DownloadAction.java代码实现为。文件下载最重要的工作就是在配置文件中进行配置,下面看其struts.xml文件。,6.3 Struts 2的国际化应用,6.3.1 应用国际化的准备工作Struts 2的国际化资源文件都是“*.properties”文件,而且该文件需要放在项目的classses文件夹下,也就是和“struts.xml”文件处于同一位置。就命名规则而言,国际化资源文件必须命名为“基本名称_语言代码_国家代码.properties”,例如中文的国际化资源文件应命名为:基本名称_zh_CN.properties而英文国际化资源文件应命名为:基本名称_en_US.properties,6.3.1 应用国际化的准备工作,国际化资源内容的格式为“key=value”,其中key可以根据程序员自己的喜好来命名,但一般程序员都会命名为容易理解的或容易记忆的名称,而value值则是该key对应的值,不同国家语言对应的该值是不同的。例如,英文对应:login=login中文对应:login=u767bu5f55看到这里,读者可能有点迷惑,按常理来说,中文对应的登录应该是:login=登录,6.3.1 应用国际化的准备工作,原因是中文是非西欧文字,程序不能解析,所以在应用非西欧文字时,就必须为其转码,在JDK的bin目录下有一个native2ascii.exe文件就是用来对中文进行转码的,运行该文件,输入“登录”,然后回车,就会出现转码后的值,如图6.3所示。,图6.3 利用native2ascii转换信息,6.3.1 应用国际化的准备工作,读者可以发现,这样做虽然可以转码,但是一次只能转换一条信息,如果有“message_temp.properties”文件:selectLanguage=请选择语言chinese=中文english=英文loginView=登录界面XH=学号KL=口令login=登录,6.3.1 应用国际化的准备工作,当需要对这个文件进行转码时,如果应用上面的方法难免有些麻烦,这时就需要应用批量转换方法。把该文件放入C盘根目录下,然后进入DOS界面(依次单击“开始”“运行”,输入“cmd”,单击“确定”,进入DOS界面),在命令行输入“native2ascii c:/message_temp.properties c:/message_zh_CN.properties”,然后回车,如图6.4所示。完成后会在C盘的根目录下出现一个名为“message_zh_CN.properties”的文件,其内容为:,图6.4 利用native2ascii批量转换信息,6.3.1 应用国际化的准备工作,selectLanguage=u8bf7u9009u62e9u8bedu8a00chinese=u4e2du6587english=u82f1u6587loginView=u767bu5f55u754cu9762XH=u5b66u53f7KL=u53e3u4ee4login=u767bu5f55,6.3.1 应用国际化的准备工作,ResourceBundle Editor是一个用于编辑本地化的属性文件(localized properties files)。我们可以很方便地在里面写中文信息,它会自动转换为UTF-8编码的信息。它让程序员通过一个屏幕就能够同时管理所有相关联属性文件中的key/value信息。它所具有的功能包括:自动为Keys分类,能够提示丢失掉的、重复的、相似的values等。1下载ResourceBundle Editor插件在“http:/Editor”插件,下载后文件名为“ResourceBundle Editor_v0.7.7.zip”压缩文件。2安装ResourceBundle Editor插件解压缩“ResourceBundle Editor_v0.7.7.zip”文件到当前目录,可以得到一个plugins文件夹,复制或者剪切该plugins文件夹到Eclipse安装目录下,覆盖原来的plugins目录即可。如果已经启动Eclipse,则需要重新启动Eclipse,方可使用ResourceBundle Editor插件。,6.3.1 应用国际化的准备工作,3ResourceBundle Editor插件使用方法在项目Test的src目录下建立“message.properties”资源文件,鼠标右击“message.properties”文件(这里也可以是其他的名字),选择“Open With”“ResourceBundle Editor”菜单,如图6.5所示,如果没有ResourceBundle Editor菜单,则ResourceBundle Editor插件没有安装成功。,图6.5 设置ResourceBundle Editor编辑器作为资源文件默认编辑器,6.3.1 应用国际化的准备工作,用ResourceBundle Editor编辑器打开message.properties文件,如图6.6所示。,新建资源文件,图6.6 使用ResourceBundle Editor插件编辑资源文件,6.3.1 应用国际化的准备工作,可以新建多种类别的资源文件,如图6.7所示是新建中文资源文件,最常用的就是中文和英文两种,创建之后就可以添加资源文件信息以达到国际化的效果。,图6.7 新建中文资源文件,6.3.1 应用国际化的准备工作,重新打开message.properties资源文件,按照图6.8所示的步骤添加username、password和login 等信息。,(1)填写要添加的属性,单击“Add”按钮,加入该属性,(2)单击属性名,(3)输入英文单词,(4)输入中文单词,图6.8 设置资源文件内容,6.3.2 国际化资源的访问,1使用标签标签只能在JSP页面中调用国际化资源信息,用法非常简单,该标签中有个name属性,将该资源文件的key赋予给该name即可。例如:页面被请求时就会显示出“loginView”对应的value值。如果在资源文件中没有key为“loginView”对应的value值,则页面会直接显示“loginView”。2使用标签属性key大部分Struts 2的表单标签都提供了key属性,只要把这个key属性的值对应到国际化资源文件的key,就可以实现标签的国际化。例如:页面被请求时就会显示国际化资源文件中key为“XH”对应的值,同样地,如果资源文件中没有该值,就会显示“XH”。,6.3.2 国际化资源的访问,3使用getText()方法getText()应用范围比较广泛,可以在页面使用,也可以在Action类中或校验配置文件中使用。对于上面两个方法的应用都可以用该方法来代替:使用getText()方法可以实现为:而在Action类中的使用也非常简单,例如在讲解非表单标签时的Action类中有:addFieldError(username,fieldError中保存的username错误信息);这里的错误信息是程序员直接写上去的,不能实现国际化。如果在资源文件中有对应的key-value对来表达这个错误信息,那么在Acton类中就可以直接根据key来取值:addFieldError(username,getText(对应key的名称);,6.3.2 国际化资源的访问,上面是在Action类中使用getText(),还可以在校验配置文件中运用该方法来实现国际化。例如:true username为空!,6.3.2 国际化资源的访问,假设资源文件中定义key-value对来描述错误信息“username为空!”字样的key为“error”,那么配置文件可以改为:true$getText(error),6.3.3 国际化应用实例,在Struts 2中,提供了一个名为il8n的拦截器,该拦截器在执行Action方法之前,自动查找请求中一个名为request_locale的参数。如果该参数存在,拦截器就将其作为参数,转换成Locale(国家/语言环境)对象,并将其设为用户默认的Locale,放在用户Session的名为“WW_TRANS_Il8N_LOCALE”的属性中。il8n拦截器被注册在默认的拦截器栈中,故在程序运行时就会自动加载,可以利用这些功能来设置允许用户自行选择网页的语言。例如图6.9所示的界面,刚开始为中文页面,如果单击下面的链接“英文”,就会出现如图6.10所示的英文页面。单击“chinese”按钮,又会回到图6.9所示的界面。,图6.9 中文页面图6.10 英文页面,6.3.3 国际化应用实例,下面就以实现上面所讲功能为例开发一个简单的例子,供读者消化国际化知识。创建资源文件,本例用6.3.2节创建的资源文件作为该例的资源文件,编写登录页面,在“index.jsp”上修改即可,代码实现为可以发现,中英文的超链接都提交到了“login.action”,“struts.xml”文件配置为。,6.3.3 国际化应用实例,可以发现,中英文的超链接都提交到了“login.action”,“struts.xml”文件配置为:/index.jsp,6.3.3 国际化应用实例,采取配置拦截器的方法,在进入“login.action”之前先对其进行语言的处理,拦截器代码实现为。使用的语言Locale定义完成后,就跳回执行Action。本例目的是体现国际化的应用,故在Action中不做任何处理,直接返回“SUCCESS”,Action类代码为:package org.action;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupportpublic String execute()throws Exception return SUCCESS;,

    注意事项

    本文(Struts2的其他应用s.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开