文件管理 · 2022年9月8日

struts2资源文件配置|struts2国际化在js里面怎么使用

『壹』 struts2国际化在js里面怎么使用

一、struts2国际化比较简单,过程如下:1. 建立资源文件中文资源:language_zh_CN.properties (language-自定义名称,zh-中文,CN-中国)英文资源:language_en_US.properties (language保持一致,en-英文,US-美国)其内容就是键值对,俩资源文件的键名对应保持一致,值分别对应中文与英文其中中文在MyEclipse环境下,用Properties进行编辑,直接输入中文如:password 密码那么从Source看时,就可看到中文是用Unicode表示的如:password=\u5BC6\u78012. 配置struts.xml文件中,配置i18n的源,值取资源文件的自定义名称部分(如果资源文件不是在src下,记得加上包路径):<constant name="struts.custom.i18n.resources" value="language"></constant>web.xml文件中,配置Struts2:<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>3. jsp中使用资源加入标签引用:<%@ taglib prefix="s" uri="/struts-tags" %>s:text标签用健名取资源值:<s:text name="password"/>或者表单元素用:key="password"4. 在action中使用资源用ActionSupport类中的方法取资源值:getText("password");二、js中要获取以上的资源值,就比较麻烦了单独建立一套资源的话,就需要维护两套资源,重复且维护麻烦1. js中使用量较少时,可在jsp页面中定义变量先取出资源值用js代码如:var curPassword='<s:text name="password"/>';或:var curLang = {password : '<s:text name="password"/>',user : '<s:text name="user"/>'}那单独的js文件中就可直接使用了2. 另外想到的是从java资源中全部取出,在js中再建立一个语言的对象struts国际化,是建立在java国际化之上,做了一次封装java国际化,用到的有两个类:Locale、ResourceBundleLocale是语言类,选定当前的语言与地域,如:Locale locale = new Locale("zh","CN");ResourceBundle是资源类,加载的是资源如:ResourceBundle bundle = new ResourceBundle.getBundle("language",locale);有个方法可取键值:bundle.getString("password");找到一个方法可取全部键名:Set<String> keys=bundle.keySet();好,再看Struts2中如何取ResourceBundle对象:ActionSupport类中方法:ResourceBundle bundle=getTexts("langauge");Action中添加方法:protected String getCurLang(String resourceName){ResourceBundle bundle=getTexts(resourceName);if(null != bundle){Set<String> keys=bundle.keySet();Iterator<String> it = keys.iterator();StringBuffer curLang = new StringBuffer();curLang.append("{");int id=0;String key;while(it.hasNext()){key=it.next();if(id>0){curLang.append(",");}curLang.append(key);curLang.append(":\'");curLang.append(getText(key));curLang.append("\'");id++;}curLang.append("}");return curLang.toString();}return "";}然后放入session中:session.setAttribute("curLang",getCurLang("langauge"));或前台调用Ajex通讯取得最后,前台把它转为对象,如:var strvar curLang="<%=session.getAttribute("curLang")%>";那么js文件中就可直接使用了:curLang["password"];

『贰』 配置struts2

struts2.0 配置篇1、web.xml文件 <?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> struts2</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list></web-app>其中,绿底色的部分是通用的部分。2、struts.xml文件 这个文件的配置是最为重要的,也是比较容易出问题的地方,初学者对其中很多的参数不太明白,导致调试时候经常出错。下面先给出一个配置的代码:<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <include file="struts-default.xml"/> <package name="package1" extends="struts-default"> <action name="Hello" class="tutorial.HelloWorld"> <result>HelloWorld.jsp</result> </action> <action name="HelloWorld" class="package1.HelloWorld"> <result>HelloWorld.jsp</result> </action> </package></struts>1)对于<include file="struts-default.xml"/>这行代码,可以要也可以不要。2)package的name是可以虚构的,并不一定要在classes目录下要有一个与这个name名对应的包名;像上面的配置文件中的name="package1"可以随便改成name="aaa"等是不影响结果的,只不过这个package名可以使得多个action聚合在一起,对大型的模块设计的时候是很有帮助的。3)<action name="HelloWorld" class="package1.HelloWorld">中的HelloWorld这个name并不一定要与package1包中的类名相同,比如<action name="Hello" class="tutorial.HelloWorld">这样两个名字完全不一样是可以的,但是"Hello"这个name必须与输入的jsp页面里面的action内容是一致的,如<s:form action="Hello">4)从上面的配置文件可以看出,在classes目录下面有两个包,一个是tutorial,一个是package1。3、struts.properties文件这个文件最简单,它与struts.xml文件一样,都是位于classes目录下面。其内容为:struts.devMode = truestruts.enable.DynamicMethodInvocation = false的4、建议初学者先看看为Struts 2.0做好准备这篇文章,这里每个步骤讲的非常的详细,但是有些细节作者没有写出来,让很多初学者调试的时候出很多错误,比如The requested resource (/项目名/HelloWorld) is not available.,java.lang.NullPointerException等等。1)关于工具web tools platform,这是一个eclipse集成了很多web开发下所需工具的一个比较好的平台,它在eclipse的网站下面http://www.eclipse.org/webtools/有下载。打开这个页面的右边download栏目下面有wtp的下载,点击这个去下载,如果不行,就再仔细找找了。2)如果出现The requested resource (/项目名/HelloWorld) is not available.的话,就仔细找找看是不是输入的时候把配置文件等等地方写错了,对于初学者最容易把其中的字母搞错,比如struts是不写成了其它的形式,反正出现这个错误就是说访问的资源不存在,那就肯定要么是配置文件出错了,要么是你的类文件没有放在classes目录下面,无外这两种情况。错了不要紧,没有错误,哪会有进步呢。3)如果你真的发现什么错误都没有,但就是尽管调试了半天还是调试不成功,那就考虑你的JDK版本是不是和你下载的wtp搭配了,建议把原来低版本的JDK卸载,装上新去下载的JDK,写这篇博客时,最新版本是jdk-1_5_0_10。如果还不行,你就把tomcat或者其它的web服务器换版本,总之要不怕错误和失败,要勤于不断的调试。网络博客虽然访问速度快,但是连粘贴个代码都不方便,真希望能改进改进。

『叁』 JAVA Struts2配置文件

#对象托管给springstruts.objectFactory=spring#struct actiond 扩展名也就是访问xxx.do到你actionstruts.action.extension=do#struct标签同步struts.tag.altSyntax=true#是否开启动态代理,用于call方法。java方式机制的选择struts.enable.DynamicMethodInvocation=false#加载的资源文件,此时你应该有个globalMessages_zh_CN.propertiesstruts.custom.i18n.resources=globalMessages#编码struts.i18n.encoding=UTF-8#模式,是开发模式。此时如果出错。浏览器能看到错误栈struts.devMode=true #动态重新加载国际化资源文件,便于开发struts.i18n.reload=true #国家语言struts.locale=zh_CN #开启浏览器缓存struts.serve.static.browserCache=false #在invoke action是是否自动包含url上的参数就是?xxx=??&yyy=?struts.url.includeParams=none#遇到html form是multi-data是用apache的jkarta解析struts.multipart.parser=jakarta#临时文件保存目录, System.getProperty("java.io.tmpdir");struts.multipart.saveDir=java.io.tmpdir#上传文件的最大sizestruts.multipart.maxSize=1000000000#xml配置文件是否自动扫描重新加载struts.configuration.xml.reload=true@action包前缀,用于annotation的扫描提示struts.convention.action.packages=com.demo.actions默认的结果输出struts.convention.result.path=/是否可以反射访问静态方法,作为action调用struts.ognl.allowStaticMethodAccess=true

『肆』 struts2配置文件如何建在WEB-INF目录下

在web.xml中配置<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value></context-param>

『伍』 Struts2 struts.custom.i18n.resources 怎么调用

你先要准备好资源文件,然后在struts.xml中通过<constant name="struts.custom.i18n.resources" value="resource" /> resource为资源文件的基本名在JSP页面中使用<s:text name=“”/>标签输出国际化信息:<s:text name=“user”/>,name为资源文件中的key 在Action类中,可以继承ActionSupport,使用getText()方法得到国际化信息,该方法的第一个参数用于指定资源文件中的key。

『陆』 在struts2配置文件中,这些有什么作用

在struts2配置文件中作用:<constant name="struts.custom.i18n.resources" value="globalMessages" /> 设置全局资源文件名称为 globalMessages(src下会有一个globalMessages.properties)<constant name="struts.action.extension" value="do, ," /> 设置Action的访问扩展名为 .do<constant name="struts.i18n.encoding" value="UTF-8" /> 设置参数编码为UTF-8<constant name="struts.multipart.maxSize" value="1075555555" /> 设置上传文件允许的最大字节数<constant name="struts.multipart.saveDir" value="C:/" /> 设置上传文件所保存的临时文件夹

『柒』 struts2 中资源文件路径问题

在控制台里,就是cmd下面。比如我在D:\myworkspace\struts2\WebRoot\WEB-INF\classes文件夹下有一个叫messageResouce.properties的文件,就去控制台,跑到那个目录内下运行这个命令容就ok了,当然,也可以这种方式来做native2ascii [messageResouce的路径]\messageResouce.properties [想存放的路径]\messageResouce_zh_CN.properties,这样直接在根目录下也可以转换。

『捌』 修改了struts2配置文件的位置,如何在web.xml中配置

struts.properties文件,该文件定义了Struts 2框架的大量属性,开发者可以通过改变这些属性来满足应用的需求. struts.properties配置文件 struts.properties文件是一个标准的Properties文件,该文件包含了系列的key-value对象,每个key就是一个Struts 2属性,该key对应的value就是一个Struts 2属性值. struts.properties文件通常放在Web应用的WEB-INF/classes路径下. 实际上, 只要将该文件放在Web应用的CLASSPATH路径下, Struts 2框架就可以加载该文件. struts.properties配置文件提供了一种改变框架默认行为的机制. 一般来讲我们没必要修改这个文件,除非你想拥有一个更加友好的开发调试环境。struts.properties文件中所包含的所有属性都可以在web.xml配置文件中使用"init-param"标签进行配置,或者在struts.xml文件中使用“constant”标签进行配置. 可以被修改的属性允许改变Freemarker选项--改变“action-mapping”类、决定是否允许XML配置文件重载及确定默认用户接口主题等行为。 一个名为“default.properties”的属性文件包含在“Struts2-Core”JAR文件中。你可以在你项目源文件路径的根目录下创建一个名为“struts.properties”的文件,来对某个属性进行修改。这样你就可以增加你想要修改的属性。新的属性值将会覆盖默认值。 以下为struts.properties中定义的Struts 2属性: struts.configuration 该属性指定加载Struts 2配置文件的配置文件管理器.该属性的默认值是org.apache.Struts2.config.DefaultConfiguration, 这是Struts 2默认的配置文件管理器.如果需要实现自己的配置管理器,开发者则可以实现一个实现Configuration接口的类,该类可以自己加载Struts 2配置文件. struts.locale 指定Web应用的默认Locale. struts.i18n.encoding 指定Web应用的默认编码集.该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312; 提示:当设置该参数为GBK时,相当于调用HttpServletRequest的setCharacterEncoding方法. struts.objectFactory 指定Struts 2默认的ObjectFactory Bean,该属性默认值是spring. struts.objectFactory.spring.autoWire 指定Spring框架的自动装配模式, 该属性的默认值是name, 即默认根据Bean的name属性自动装配. struts.objectFactory.spring.useClassCache 该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和false两个属性值,它的默认值是true.通常不建议修改该属性值. struts.objectTypeDeterminer 该属性指定Struts 2的类型检测机制, 通常支持tiger和notiger两个属性值. struts.multipart.parser 该属性指定处理multipart/form-data的MIME类型(文件上传)请求的框架,该属性支持cos,pell和jakarta等属 性值, 即分别对应使用cos的文件上传框架,pell上传及common-fileupload文件上传框架.该属性的默认值为jakarta. 注意:如果需要使用cos或者pell的文件上传方式,则应该将对应的JAR文件复制到Web应用中.例如,使用cos上传方式,则需要自己下载cos框架的JAR文件,并将该文件放在WEB-INF/lib路径下. struts.multipart.saveDir 该属性指定上传文件的临时保存路径,该属性的默认值是javax.servlet.context.tempdir. struts.multipart.maxSize 该属性指定Struts 2文件上传中整个请求内容允许的最大字节数. struts.custom.properties 该属性指定Struts 2应用加载用户自定义的属性文件,该自定义属性文件指定的属性不会覆盖struts.properties文件中指定的属性.如果需要加载多个自定义属性文件,多个自定义属性文件的文件名以英文逗号(,)隔开. struts.mapper.class 指定将HTTP请求映射到指定Action的映射器,Struts 2提供了默认的映射器: org.apache.struts2.dispatcher.mapper.DefaultActionMapper.默认映射器根据请求的前缀与Action的name属性完成映射. struts.action.extension 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理.如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开. struts.serve.static 该属性设置是否通过JAR文件提供静态内容服务,该属性只支持true和false属性值,该属性的默认属性值是true. struts.serve.static.browserCache 该属性设置浏览器是否缓存静态内容.当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为false. struts.enable.DynamicMethodInvocation 该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true.如果需要关闭动态方法调用,则可设置该属性为false. struts.enable.SlashesInActionNames 该属性设置Struts 2是否允许在Action名中使用斜线,该属性的默认值是false.如果开发者希望允许在Action名中使用斜线,则可设置该属性为true. struts.tag.altSyntax 该属性指定是否允许在Struts 2标签中使用表达式语法,因为通常都需要在标签中使用表达式语法,故此属性应该设置为true,该属性的默认值是true. struts.devMode 该属性设置Struts 2应用是否使用开发模式.如果设置该属性为true,则可以在应用出错时显示更多、更友好的出错提示.该属性只接受true和flase两个值,该属性的 默认值是false.通常,应用在开发阶段,将该属性设置为true,当进入产品发布阶段后,则该属性设置为false. struts.i18n.reload 该属性设置是否每次HTTP请求到达时,系统都重新加载资源文件(允许国际化文件重载).该属性默认值是false.在开发阶段将该属性设置为true会更有利于开发,但在产品发布阶段应将该属性设置为false. 提示:开发阶段将该属性设置了true,将可以在每次请求时都重新加载国际化资源文件,从而可以让开发者看到实时开发效果;产品发布阶段应该将该属性设置为false,是为了提供响应性能,每次请求都需要重新加载资源文件会大大降低应用的性能. struts.ui.theme 该属性指定视图标签默认的视图主题,该属性的默认值是xhtml. struts.ui.templateDir 该属性指定视图主题所需要模板文件的位置, 该属性的默认值是template,即默认加载template路径下的模板文件. struts.ui.templateSuffix 该属性指定模板文件的后缀,该属性的默认属性值是ftl.该属性还允许使用ftl、vm或jsp,分别对应FreeMarker、Velocity和JSP模板. struts.configuration.xml.reload 该属性设置当struts.xml文件改变后,系统是否自动重新加载该文件.该属性的默认值是false. struts.velocity.configfile 该属性指定Velocity框架所需的velocity.properties文件的位置.该属性的默认值为velocity.properties. struts.velocity.contexts 该属性指定Velocity框架的Context位置,如果该框架有多个Context,则多个Context之间以英文逗号(,)隔开. struts.velocity.toolboxlocation 该属性指定Velocity框架的toolbox的位置. struts.url.http.port 该属性指定Web应用所在的监听端口.该属性通常没有太大的用户,只是当Struts 2需要生成URL时(例如Url标签),该属性才提供Web应用的默认端口. struts.url.https.port 该属性类似于struts.url.http.port属性的作用,区别是该属性指定的是Web应用的加密服务端口. struts.url.includeParams 该属性指定Struts 2生成URL时是否包含请求参数.该属性接受none、get和all三个属性值,分别对应于不包含、仅包含GET类型请求参数和包含全部请求参数. struts.custom.i18n.resources 该属性指定Struts 2应用所需要的国际化资源文件,如果有多份国际化资源文件,则多个资源文件的文件名以英文逗号(,)隔开. struts.diSPAtcher.parametersWorkaround 对于某些Java EE服务器,不支持HttpServlet Request调用getParameterMap()方法,此时可以设置该属性值为true来解决该问题.该属性的默认值是false.对于 WebLogic、Orion和OC4J服务器,通常应该设置该属性为true. struts.freemarker.manager.classname 该属性指定Struts 2使用的FreeMarker管理器.该属性的默认值是org.apache.struts2.views.freemarker.FreemarkerManager,这是Struts 2内建的FreeMarker管理器. struts.freemarker.wrapper.altMap 该属性只支持true和false两个属性值,默认值是true.通常无需修改该属性值. struts.xslt.nocache 该属性指定XSLT Result是否使用样式表缓存.当应用处于开发阶段时,该属性通常被设置为true;当应用处于产品使用阶段时,该属性通常被设置为false. struts.configuration.files 该属性指定Struts 2框架默认加载的配置文件,如果需要指定默认加载多个配置文件,则多个配置文件的文件名之间以英文逗号(,)隔开.该属性的默认值为struts- default.xml,struts-plugin.xml,struts.xml,看到该属性值,所以应该明白为什么Struts 2框架默认加载struts.xml文件了.

『玖』 java struts2怎么多语言配置文件

资源,使用 配置文件1. 修改struts.xml文件,以加载全局资源文件constantname="struts.custom.i18n.resources"value="globalMessages"/2. 创建不同语言的资源文件2.1首先,生成中文过渡文件:message_zh_CN_org.properties2.2其次,使用native2ascii.exe命令来生成message_zh_CN.properties文件2.3生成英文message_en_US.properties(必须到…\Java\jdk…\bin下,在dos命令行中输入native2ascii.exetemp.txt MessagesRescources_zh_CN.properties)

『拾』 Struts2的web.xml配置问题

配置成*.do或者*.action要在访问的url加上对应的.do或者.action