`
sd8089730
  • 浏览: 258714 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

国际化例子

阅读更多

struts利用在session中放一个local对象来达到设置当前语言您的目的,默认的情况下,struts根据网页向后台提交时所包含的编码信息来提供缺省的local对象。这就是我们为什么可以通过更改网页显示语言设置,就能显示不同语言文字的原因。struts在session中存放的这个local对象取名为Globals.LOCAL_KEY的值,因此利用这个原理我们就可以用编程的方式来手工切换整个应用系统的语言。
struts国际化问题的一个小例子:(根据下拉列表的选择显示不同语言的网站)
1,首先针对不同的语言,写不同的MessageResources.properties文件,比如说简体中文是
MessageResources_zh_CN.properties,英文就是MessageResources_en_US.properties,然后对这些配置信
息文件同样用native2ascii工具处理一次(打开cmd输入native2ascii然后把要显示的中文输入回车就ok了),把非ASCII码统统转为Unicode编码。 放在classes文件夹下你指定的地方,这里是放在/web-inf/classes/com/下,
我写的两个文件是;1,MessageResources_en_US.properties:内容如下:
version=hello,you have choose the english version
MessageResources_zh_CN.properties内容如下:
version=\u4f60\u597d,\u4f60\u5df2\u7ecf\u9009\u62e9\u4e86\u4e2d\u6587\u7248\u672c
(要注意的是:文件名中的zh和en代表语言的不能写错,而CN和US代表国家可以不写)
2,在struts-config.xml加入 <message-resources parameter="com.MessageResources" />注意com为包名。
3,测试页面:index.jsp
<form name="form1" method="post" action="chooselocal.do">
  <select name="il8n_info">
      <option value="zh">中文版</option>
    <option value="en">英文版</option>
  </select>
  <input type="submit" value="submit"><p>
  </form>
4.相应的actionform:

package com.il8n;

import org.apache.struts.action.ActionForm;

public class il8nActionForm extends ActionForm {
 private String il8n_info;
 
public String getIl8n_info() {
 return il8n_info;
}

public void setIl8n_info(String il8n_info) {
 this.il8n_info = il8n_info;
}

}

5:相应的acrion:

package com.il8n;

import java.util.Locale;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

public class il8nAction extends Action {

 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  il8nActionForm il8naf = (il8nActionForm)form;
  ActionMessages messages = new ActionMessages();
 
  Locale locale = null;
  if("zh".equals(il8naf.getIl8n_info())){
   locale = new Locale("zh","CN");
  }else if("en".equals(il8naf.getIl8n_info())){
   locale = new Locale("en","Us");
  }
  this.setLocale(request, locale);//将local对象放到session里也可以用下面的方法:
  //request.getSession().setAttribute(Globals.LOCALE_KEY, locale);//英文struts是把local对象放在了session里面
  return mapping.findForward("success");
 }
 
}

6:struts-config.xml中的配置:
<form-beans>
<form-bean name="il8nActionForm" type="com.il8n.il8nActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/chooselocal"
        type="com.il8n.il8nAction"
        name="il8nActionForm"
        scope="request"
>
<forward name="success" path="/index.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.MessageResources" />然后在index.jsp中使用<been:message key="version"/>来调用version的值显示不同的语言。(当然要引入相关的tag)
也就是当你选择中文版然后提交就会显示
你好,你选择了中文版
当你选择英文版的时候就会显示:
hello,you have choose the english version

分享到:
评论

相关推荐

    struts2国际化例子源码

    总结,这个Struts2国际化例子源码展示了如何在Java web应用中实现多语言支持,通过配置Struts2框架、编写Action类、创建资源文件以及在JSP页面中使用标签,实现了对不同语言环境的适应。这个例子对于理解和实践...

    asp.net 国际化例子

    这个"asp.net 国际化例子"很可能是提供了一个实际的代码示例,帮助开发者理解和实施这一功能。 首先,我们需要理解什么是ASP.NET的国际化和本地化。国际化(Internationalization)是指设计和构建软件系统,使其...

    QT国际化例子

    在"QT国际化例子"中,我们可以看到如何设置和使用这个功能。首先,开发者会在源代码中使用`tr()`函数,例如: ```cpp QString myString = tr("这是一个需要翻译的字符串"); ``` 接下来,QT的翻译工具,如`lupdate`...

    qt 国际化例子

    这个"qt 国际化例子"是关于如何在Qt应用程序中实现国际化(i18n)的一个示例,特别是涉及到下拉菜单选择语言后立即生效的功能。 在Qt中,实现国际化主要依赖于两个关键组件:QTranslator和QLocale。QTranslator类...

    一个简单的VS2011国际化例子

    "一个简单的VS2011国际化例子"是一个实用的示例,它演示了如何在实际项目中处理多语言支持。 首先,国际化(i18n)是软件开发过程中的一个重要环节,它涉及到设计和实现能够适应不同地区用户需求的功能。VS2011提供...

    struts国际化例子

    在"struts国际化例子"中,我们看到的是如何在Struts框架中实现国际化功能的一个实例。 首先,我们需要理解i18n的基本概念。"i18n"是“国际化”的缩写,这里的数字18代表单词"internationalization"中的字母数量。...

    最简单的java国际化例子

    Java国际化(Internationalization,通常缩写为i18n)是一种设计和开发应用程序的方法,使得它们可以适应不同的语言和地域文化。在Java中,通过使用特定的API和资源文件,我们可以实现应用程序的国际化,以便在不同...

    Struts国际化例子

    在开发多语言支持的Web应用时,国际化(Internationalization,通常简写为i18n)是一个重要的考虑因素。Struts提供了良好的支持来实现这一功能,使得开发者能够轻松地为不同语言的用户提供本地化体验。 国际化的...

    java国际化例子I18N.rar

    个人体会:做项目时需要用到国际化的例子,网上找了很多都是讲得不深入的,而且对于刚入门的我很难学习和上手,但是这份文档可以很好的让没有经验的开发者入手,说明文档的介绍可以帮助我们掌握得更快,代码也简单...

    struts2-i18n实现国际化例子

    这个例子主要是为了帮助初学者理解如何在Struts2框架下进行国际化设置。以下将详细讲解Struts2-i18n的基本概念、实现步骤以及相关知识点。 **国际化(i18n)简介** 国际化(Internationalization)是指设计和开发...

    动态切换Struts2国际化例子

    这是动态切换struts国际化的一个例子,有兴趣的可以参考一下。如果有更好的方法,欢迎告知一下。呵呵。我还是学生,所以很多东西还需要不断学习。

    wicket国际化例子

    在本文中,我们将深入探讨Wicket框架中的国际化(i18n)实现,以及如何使用`wicket:message`和`StringResourceModel`等工具来读取`.properties`资源文件。Wicket是一个流行的Java web应用程序框架,它提供了强大的...

    struts2国际化例子

    在Struts2中实现国际化是一项常见的需求,它允许应用程序根据用户的语言和地区偏好显示不同的文本内容。下面我们将深入探讨如何在Struts2中实现国际化。 国际化(i18n)是一个术语,表示为不同地区和语言的用户定制...

    ASP.NET国际化 一键全站切换 全站切换 国际化例子

    还可以用数据库和配置文件,但是最好用Cookie,所以下面以Cookie为例子) 九:新建一个母板页“language.Master”(图6,7) 十:添加language3.aspx (图8,9),必须继承Base类 十一:添加language4.aspx (图10),必须...

    struts2 做的国际化的例子

    在这个例子中,我们将深入探讨如何在Struts2框架中结合Spring和Hibernate实现国际化。 首先,我们需要了解Struts2的国际化配置。这通常涉及到创建资源文件,如`messages.properties`和`messages_zh_CN.properties`...

    jquery.i18n.properties国际化 例子

    在IT行业中,尤其是在Web开发领域,国际化(i18n)是一个重要的概念,它使得网站或应用程序能够适应不同地区的语言和文化习惯。jQuery是一个广泛使用的JavaScript库,它提供了丰富的功能来简化HTML文档操作、事件...

    struts2中关于 国际化的一个经典例子!

    这个是我自己学习三大框架中的struts2中的关于国际化的一个实例,个人感觉很有实际作用,需要导入7个jar包,注意!!javaasist.jar包一定要。 这中间还有关于Validation的代码在这里面,被注释了,不过需要一定的...

    Spring国际化案例

    在Spring框架中,国际化(Internationalization,简称i18n)是为支持多语言环境而设计的功能,使得应用程序能够根据用户的地区或语言设置提供相应的显示内容。本案例将深入探讨如何在Spring应用中实现国际化。 首先...

    QT国际化hello button例子

    qt国际化例子,一个hello的按键实现多语言,基于vs2010和qt的集成开发环境,环境搭建需要装vs2010和qt-opensource-windows-x86-vs2010-4.8.7.exe和qt-vs-addin-1.1.10.exe这三个东西即可,可以参考博客里面的说明,...

    python国际化的例子

    在这个例子中,我们将深入探讨如何在Python项目中实现国际化。 1. **i18n库介绍** Python提供了`gettext`模块来支持国际化,它遵循GNU gettext工具的标准。此外,还有一些第三方库如`Babel`和`django.utils....

Global site tag (gtag.js) - Google Analytics