Struts国际化问题解决

解决|问题

1.解决jsp页面中的中文问题:在每个jsp头都加上<%@ page contentType="text/html;charset=GBK" language="java" %>,有需要的话也可以再加上<html:html locale="true"></html:html>表示使用本地编码。

2.解决资源包中的中文问题jsp要调用资源包中的信息,我们需要这些信息是中文的,但是资源包中是不能直接写入中文的。否则会有乱码。

步骤:1) 先将资源包的信息写成自己需要的中文信息,保存成ApplicationResources_zh.properties      2) 运行cmd到资源包所在目录,运行jdk命令:native2ascii -encoding gb2312 ApplicationResources_zh.properties temp.txt         运行后会将编码转换成ascii,储存在temp.txt。复制temp.txt中的内容,用它覆盖ApplicationResources_zh.properties原来的内           容。      3) 不需要更改struts-config.xml中的资源包设置,它会根据浏览器的设置判断,选择相应的资源包。比如在IE的工具-INTERNET选项-       语言,选择你需要的语言。你可以选择多种语言,但系统会根据先后关系选择资源包。如果把中文放在前面,系统就会使用ApplicationResources_zh.properties的资源包。   3.解决页面数据传输的中文问题jsp中将中文传给bean,再由bean传给jsp,在页面显示出来是乱码。在WEB.XML中加入字体类,内容如下:<!--SET CHARACTOR ENCODING--><filter>  <filter-name>Set Character Encoding</filter-name>  <filter-class>filters.SetCharacterEncodingFilter</filter-class>     <init-param>       <param-name>encoding</param-name>      <param-value>GBK</param-value>     </init-param> </filter>  <filter-mapping>      <filter-name>Set Character Encoding</filter-name>      <url-pattern>*.do</url-pattern>  </filter-mapping>这里使用到一个字体类,SetCharacterEncodingFilter,在jsp-examples中可以找到,也可以参照里面的例子。你可以将那里的filters文件拷贝到你的classes下面。这里需要注意的是 <url-pattern>的内容,很多网页里把这里写成action。但是若这样写的话,是找不到项目的。所以,我把它写成*.do。如果是简单的javabean,则可以写成/*。

4. get方式的解决方法(struts不需要这个设置,只是附带说明而已)打开tomcat的server.xml文件,找到区块,加入如下一行:URIEncoding=”GBK”完整的应如下:

<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000"  disableUploadTimeout="true"  URIEncoding="GBK"/>

     

时间: 2024-10-03 20:39:04

Struts国际化问题解决的相关文章

关于Struts国际化的文件获取

问题描述 关于Struts国际化的文件获取 Action 文件 public String checkUser() throws Exception { UserTable user = userdao.checkUser(username, password); if (user == null) { System.out.println("用户不存在"); //addFieldError("loginerror", "用户名或密码错误");

Struts国际化编程轻松实现

struts是一个MVC框架,像Java和其他Java框架一样,struts可以轻松实现国际化:于是根据网上的资料,做了一个尝试,因为第一次做多语言程序,还是拐了很多弯路:但所幸,经过不断的尝试,终于成功的实现多语言版本的简单页面: 因为程序非常简单,所以在整个尝试过程中,全部使用手工编码,没有使用任何辅助工具: 1.建立服务器 我使用Tomcat4作为测试环境,建立过程(略); 2.下载struts 可以到http://jakarta.apache.org/struts/index.html下

Java的Struts框架中配置国际化的资源存储的要点解析_java

1.资源文件命名 国际化资源文件命名格式如下: basename_language_country.properties basename_language.properties basename.properties 其中basename为资源文件的基本名称,language和country必须是java支持的语言和国家.获取java支持的语言和国家代码如下: Locale[] locales = Locale.getAvailableLocales(); for(Locale locale:

Java的Struts框架中的主题模板和国际化设置_Mysql

主题模板 如果不指定一个主题,然后Struts2中会使用默认的XHTML主题.例如Struts 2中选择标签: <s:textfield name="name" label="Name" /> 生成HTML标记: <tr> <td class="tdLabel"> <label for="empinfo_name" class="label">Name:<

undefined-struts国际化代码不可用了。

问题描述 struts国际化代码不可用了. 页面报这样的错误.TypeError: sipo.search.tablesearch is undefined $(""#displayTitle"").text(sipo.search.tablesearch.cue.applicantTitle); 中文下好用.改了下语言.功能不好使了. 解决方案 struts国际化代码在国际代码中不可用!您看下您的代码中是否缺失ipk

在struts中使用国际化(i18n)

在struts中使用国际化(i18n)    i18n可以满足对系统的国际化,它的原理就是将页面上的所有标志都放到一个消息资源文件中,不同的语言要提供不同的消息资源文件,当用户登录系统是,系统就是根据你登录的语言,选择不同的消息资源文件显示出来,这样你就可以看到不同的效果了.    一.配置文件的设置    其实i18n的使用还是比较简单的,首先你要在struts-config.xml配置文件中配置消息资源文件的路径,如下所示:----------------------------------

用Struts开发国际化程序思路

程序 对于使用者来说,一个支持国际化的WEB程序具有下面几种形式 1. 根据用户浏览器自动设置显示的语言(无需用户干预)2. 提供用户选择,用户根据自己的需要决定使用何种语言显示3. 结合前两种.系统自动选择一种语言,但同时提供用户根据需要选择 使用Struts开发国际化程序是一件非常便利的事情,我们来看前两种怎么来实现 1. 这是最简单的方式,你不需要修改任何程序,只需要把资源文件按照各个语言翻译一遍并把这些文件按照国际化程序的要求命名好放置同一个目录即可. 例如 ApplicationRes

Struts从零开始四、Struts中的国际化

一.概念 I18N作为"国际化"的简称,其来源是明文单词"internationlization"的首末字符"i"和"n"之间的字符数为18.随着全球经济的遗体化为一种主流的趋势,软件开发者应该开发出支持多国语言.国家化的web应用程序吧.也就是一个web应用程序在运行时能够根据客户端请求所来自的国家和语言的不同显示不同的用户界面.这样,当需要在应用程序中添加对一种新的语言的支持时,不需要对已有的软件返工,无需修改应用程序的程

在Struts 2.0中国际化(i18n)您的应用程序

国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须掌握的技能. 其实,Struts 1.x在此部分已经做得相当不错了.它极大地简化了我们程序员在做国际化时所需的工作,例如,如果您要输出一条国际化的信息,只需在代码包中加入FILE-NAME_xx_XX.properties(其中FILE-NAME为默认资源文件的文件名),然后在struts-config.xml中指明其路径,再在页面用<bean:message>标志输出即可. 不过,所谓"没有最好,只有更