`

struts2的国际化[三种语言的动态切换]

阅读更多

一. 创建三个资源文件:

 

crms_zh_CN.properties

crms_en_US.properties

crms_zh_TW.properties

二. struts2的配置文件

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
 "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
 <!-- 拦截struts的扩展名  -->
 <constant name="struts.action.extension" value="action,"/>
 <!-- 开发模式  -->
 <constant name="struts.devModel" value="true"/>
 <!-- 国际化  -->
 <constant name="struts.custom.i18n.resources" value="crms"/>
  <package name="web" namespace="/web" extends="struts-default">
  <default-action-ref name="index" />

  <action name="index">
   <result>/login.jsp</result>
  </action>
  <action name="login" class="userinfoAction">
   <result name="success">
    /WEB-INF/jsp/index.jsp
   </result>
   <result name="error">
    /login.jsp
   </result>
   </action>
  <!--国际化-->
  <action name="i18n" class="userinfoAction">
   <result name="success">
    /WEB-INF/jsp/header.jsp
   </result>
  </action>  
 </package>
</struts>

 三.jsp文件[语言切换的超链接]

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
 <head>
  <title>header</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
<!-- JQuery-->

<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript">
 $(document).ready(function(){
    var lang=$("#currLanguage").val();
  if (lang=="en_US") {
   $("#en_US").hide();
   $("#title").removeClass("title_cn");
   $("#title").addClass("title_en");
  }else if(lang=="zh_TW"){
   $("#zh_TW").hide();
  }else if(lang=="zh_CN"){
   $("#zh_CN").hide();
  }
  //单击选择语言时,隐藏先择的语言的超链接/刷新相应的页面
  
  $("#language div").click(function(){
   //DIV的单再比<a/> 超链接优先执行,用此语句来掉换一下优先的顺序
   window.location.href="web/i18n!i18n?request_locale="+this.id;
   //单击时,先显示隐藏的DIV
   $('div:hidden').show();
   //再把单击的DIV隐藏掉
   $(this).hide();


    //刷新页面
   window.parent.header.location.reload(); 
   window.parent.left.location.reload(); 
   window.parent.body.location.reload();
   window.parent.footer.location.reload();

   //根据语言来改变样式
   if (lang=="en_US") {
    $("#en_US").hide();
    }else if(lang=="zh_TW"){
    $("#zh_TW").hide();
    }else if(lang=="zh_CN"){
    $("#zh_CN").hide();
     }
  });
 });
 </script>
</head>
<body >

  <div id="title" class="title_cn"><s:property value="getText('web_header_title')"/></div>
   <div id="loginInfo">
    <div id="language">
     <div id="changeLanguage"><s:property value="getText('web_header_language')"/>:</div>
     <div id="en_US" ><a href="web/i18n!i18n?request_locale=en_US"><s:property value="getText('web_header_en')"/></a></div>
     <div id="zh_TW" ><a href="web/i18n!i18n?request_locale=zh_TW"><s:property value="getText('web_header_gbk')"/></a></div>
     <div id="zh_CN" ><a href="web/i18n!i18n?request_locale=zh_CN"><s:property value="getText('web_header_gb2312')"/></a></div>
     <input type="hidden" id="currLanguage" value='<s:property value="locale"/>'/>
    </div>
    </div>

 

<!--以下是测试代码,,以下两种标签均可以显示国际化内容-->

<div id="title" class="title_cn"><s:property value="getText('web_header_title')"/></div>

<div id="title_1"><s:text name="web_left_service"/> </div>

 </body>
</html>

 

四.显示效果

 在页面上只显示两种语言的超链接和当前使用的一种语言,当用户单击来切换语言时,页的将显示为该语言,并隐藏该语的超链接.

 

分享到:
评论

相关推荐

    struts2国际化语言切换

    strut2中页面国际化语言的切换,如中英文的简单切换!

    struts 2 国际化 自动语言切换

    struts2国际化自动语言切换 ,一看就会,比较简单

    Struts2 国际化 多语言切换

    Struts2多语言切换示例,myeclipse源码可直接导入

    Struts2国际化(可选择语言)

    自己做的一个简单的国际化例子,Struts2框架,myEclipse.

    用Struts1实现的国际化语言切换

    当今很多网站都只针对本国网民使用,所以,为了跟随时代潮流,所有的网站要能够符合不同国家的人浏览》。。 当今很多网站都只针对本国网民使用,所以,为了跟随时代潮流,所有的网站要能够符合不同国家的人浏览》。...

    Struts2国际化——自动切换语言

    自己在做项目的时候 做的总结 很好的资源

    struts2 国际化

    struts2 框架中,点击页面按钮或超链接修改页面语言,动态实现国际化的几种方法。

    一个利用struts做的简单国际化

    1、struts国际化的配置 * 在struts-config.xml文件中加入: 2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale...

    struts国际化功能

    struts国际化功能,在ssh框架技术的网页中实现国家化功能,可以切换网站的语言

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 ...五、 国际化-动态语言切换 37 09 自定义拦截器 38 10 类型转换 38 Struts2总结 39

    Struts2帮助```````

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 ...五、 国际化-动态语言切换 37 09 自定义拦截器 38 10 类型转换 38 Struts2总结 39

    Struts2 in action中文版

    第11章 理解国际化 240 11.1 Struts 2框架和Java i18n 241 11.1.1 使用ResourceBundle和Locale取得本地化文本 241 11.1.2 Struts 2如何解决本地Java对i18n支持的问题 243 11.2 Struts 2 i18n示例 244 11.2.1 Struts ...

    struts2的国际化实现网站整体中英文切换实例代码

    本篇文章主要介绍了struts2的国际化实现网站整体中英文切换实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    源码基于JSP的内容管理系统(hibernate3+struts2+spring2).rar

    同时,Struts2还支持国际化,可以方便地实现多语言切换。Spring2作为一个轻量级的容器框架,负责管理对象的生命周期和依赖关系。它采用了IoC(控制反转)和AOP(面向切面编程)的理念,使得各个模块之间的耦合度降低...

    低清版 大型门户网站是这样炼成的.pdf

    2.4.3 struts 2国际化语言的动态切换 89 2.5 struts 2的校验框架 90 2.5.1 在action中实现手动校验 90 2.5.2 调用校验框架进行自动校验 91 2.5.3 自定义国际化struts 2校验错误消息 92 2.5.4 struts 2的自带...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

Global site tag (gtag.js) - Google Analytics