网站国际化解决方案

来源:互联网 发布:下载winrar解压缩软件 编辑:程序博客网 时间:2024/06/06 03:49

1、  Freemarker静态页面国际化问题

(1)      编写中、英文模板各一个

(2)      结合Struts2.0实现ftl国际化

 

2、  jsp页面国际化问题

(1)      Struts2.0框架提供的国际化

(2)      使用了 JSTL 国际化辅助标签库

 

3、  网上关于国际化处理方法

(1)      js字符串替换法

(2)      配置文件

(3)      做两套模板

(4)      使用c标签与fmt标签实现国际化

 

4、  国际化有哪些?

(1)、资源文件(resource)国际化,(2)数据库的国际化,

(3)、UI的国际化(javascript国际化,css的国际化)

 

5、  Struts2与freemarker的配置实例讲解(FTL文件解析) 

1、准备相应的JAR包,struts2-core-2.0.11.2.jar,xwork-2.0.5.jar,ognl-2.6.11.jar,freemarker- 2.3.8.jar,commons-logging-1.0.4.jar

2、解压缩struts2-core-2.0.11.2.jar复制META-INF/struts-tags.tld复制到工程WEB-INF目录下,FREEMARKER中默认是不支持struts2标签的,所以需将标签库导入模板中。

3、修改WEB.XML文件

             添加STRUTS2过滤器

         <filter> 

             <filter-name>struts2</filter-name> 

             <filter-class> 

             org.apacher.sturts2.dispatcher.FilterDispatcher 

             </filter-class> 

</filter>    

<filter-mapping> 

             <filter-name>struts2</filter-name> 

             <url-parttern>/*</url-parttern> 

</filter-mapping>

注意:对于网络上所说的要想在Freemarker中使用Struts2标签必须配置一个新SERVLET

<servlet>  

     <servlet-name>JspSupportServlet</servlet-name> 

      <servlet-class> 

              org.apache.struts2.views.JspSupportServlet 

      </servlet-class> 

      <load-on-startup>1</load-on-startup> 

</servlet> 

1.     <action name="getVediosByCategory" class="com.wang.vedio.action.IndexAction" method="getVediosByCategory">  

2.       

3.        <result name="success" type="freemarker">/WEB-INF/template/secondPage.ftl</result>  

4.     </action>  

意:<reslutl>元素的type属性必须设置为freemarker,这是因为Freemarker模板文件必须由Freemarker模板引擎来解析,而Struts2内部实现了 Freemarker模板引擎,但我们必须声明返回结果类型为freemarker才可以

 

6、  一些关于国际化的代码

LocaledefaultLocale = Locale.getDefault();//获得此Java虚拟机当前线程默认的语言环境值

获取当前Java虚拟机线程默认的国家和语言信息

 

Stringcountry = defaultLocale.getCountry();//返回国家地区代码

 

Stringlanguage = defaultLocale.getLanguage();//返回国家的语言

 

StringdisplayCountry = defaultLocale.getDisplayCountry();//返回适合向用户显示的国家信息

 

StringdisplayLanaguage = defaultLocale.getDisplayLanaguage();//返回适合向用户展示的语言信息

 

StringdisplayName = defaultLocale.getDisplayName();//返回适合向用户展示的语言环境名

 

 java提供了一个native2ascII工具用于将中文字符进行编码处理,

 

1)首先使用下述代码得到浏览器的语言种类。

   if (navigator.language)    //对于mozilla, Firefor

             language = navigator.language;

   else if (navigator.browserLanguage) //对于IE

          language = navigator.browserLanguage;

 

7、  jsp与struts2.0框架----------国际化应用

主页面:<s:include value="/html/pages/common/head_top.jsp"/>

子页面需引入:

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>

<%@ taglib prefix="s"uri="/struts-tags"%>

         静态文本:<s:textname="WelcometoYooucecom"/> 注:WelcometoYooucecom:配置文件里的key属性

0 0