关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » JAVA »Java Struts2 本地化/国际化(i18n)浅析

    Java Struts2 本地化/国际化(i18n)浅析

    2015-03-31 00:00:00 出处:IT_xiao小巫
    分享

    国际化(i18n)是规划和实施的产品和服务,使他们能很容易地适应特定的本地语言和文化的过程中,这个过程被称为本地化。国际化的过程有时也被称为翻译或本地化启用。国际化是缩写i18n,因为我和两端用n字打头,并有18个字符之间的第i个和最后n。

    访问方式:

    有几种方法可以访问的信息资源,包括gettext的,文本标签,UI标签的关键属性,国际化标签。让我们来看看他们简单:

    要显示i18n的文本,使用的调用属性标记gettext,或其他任何标记,例如UI标签如下:

    <s:property value="getText('some.key')" />

    文本标记检索从默认的资源包,即一个消息 struts.properties

    <s:text name="some.key" />

    i18n标签推值栈上的任意资源束。 i18n标签范围内的其他标签可以显示该资源包的消息:

    <s:i18n name="some.package.bundle">
         <s:text name="some.key" />
    </s:i18n>

    大多数UI标签的键属性,可以用来检索的消息,从一个资源包:

    <s:textfield key="some.key" name="textfieldName"/>

    下面实现国际化处理

    结构目录:

    java框架篇---Struts2 本地化/国际化(i18n)

    配置文件Struts.xml

    < xml version="1.0" encoding="UTF-8" >
    <!DOCTYPE struts PUBLIC
       "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
       "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
       <constant name="struts.devMode" value="true" />
       <!-- 扫描资源目录下以global开头的文件 -->
       <constant name="struts.custom.i18n.resources" value="global" />
    
       <package name="helloworld" extends="struts-default" namespace="/">
          <action name="empinfo" 
             class="com.oumyye.action.Employee"
             method="execute">
             <result name="input">/index.jsp</result>
             <result name="success">/success.jsp</result>
          </action>
    
          <action name="locale" 
             class="com.oumyye.action.Locale"
             method="execute">
             <result name="success">/index.jsp</result>
          </action>
       </package>
    
    </struts>

    处理类 Employee .java

    package com.oumyye.action;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class Employee extends ActionSupport{
       private String name;
       private int age;
    
       public String execute() 
       {
           return SUCCESS;
       }
    
       public String getName() {
           return name;
       }
       public void setName(String name) {
           this.name = name;
       }
       public int getAge() {
           return age;
       }
       public void setAge(int age) {
           this.age = age;
       }
    }

    处理类Locale.java

    package com.oumyye.action;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class Locale extends ActionSupport{
       public String execute() 
       {
           return SUCCESS;
       }
    }

    视图index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Employee Form with Multilingual Support</title>
    </head>
    
    <body>
      <h1><s:text name="global.heading"/></h1>
    
       <s:url id="indexUS" namespace="/" action="locale" >
            <s:param name="request_locale" >us</s:param>
       </s:url>
       <s:url id="indexZH" namespace="/" action="locale" >
          <s:param name="request_locale" >zh</s:param>
       </s:url>
       <s:url id="indexFR" namespace="/" action="locale" >
          <s:param name="request_locale" >fr</s:param>
       </s:url>
    
       <s:a href="%{indexUS}" >English</s:a>
       <s:a href="%{indexZH}" >中文</s:a>
       <s:a href="%{indexFR}" >France</s:a>
    
       <s:form action="empinfo" method="post" namespace="/">
          <s:textfield name="name" key="global.name" size="20" />
          <s:textfield name="age" key="global.age" size="20" />
          <s:submit name="submit" key="global.submit" />
       </s:form>
    
    </body>
    </html>

    跳转成功页Success.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Success</title>
    </head>
    <body>
       <s:property value="getText('global.success')" />
    </body>
    </html>

    global_fr.properties

    global.name = Nom d'utilisateur 
    global.age = l'age
    global.submit = Soumettre des
    global.heading = Sé lectionnez Local
    global.success =Authentifi/t/u00E9  avec succ/u00E8s

    global_us.properties

    global.name = Name
    global.age = Age
    global.submit = Submit
    global.heading = Select Locale
    global.success =Successfully authenticated

    global_zh.properties

    global.name = /u59D3/u540D
    global.age = /u5E74/u9F84
    global.submit = /u63D0/u4EA4
    global.heading = /u9009/u62E9/u4E00/u79CD/u8BED/u8A00
    global.success =/u6210/u529F

    效果界面

    java框架篇---Struts2 本地化/国际化(i18n)

    注意访问时的url地址。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    电脑屏幕不小心竖起来了?别慌,快捷键搞定

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    IT头条

    Synology 更新 ActiveProtect Manager 1.1 以增强企业网络弹性和合规性

    00:43

    新的 Rubrik Agent Cloud 加速了可信的企业 AI 代理部署

    00:34

    宇树科技 G1人形机器人,拉动一辆重达1.4吨的汽车

    00:21

    Cloudera 调查发现,96% 的企业已将 AI 集成到核心业务流程中,这表明 AI 已从竞争优势转变为强制性实践

    02:05

    投资者反对马斯克 1 万亿美元薪酬方案,要求重组特斯拉董事会

    01:18

    技术热点

    大型网站的 HTTPS 实践(三):基于协议和配置的优化

    ubuntu下右键菜单添加新建word、excel文档等快捷方式

    Sublime Text 简明教程

    用户定义SQL Server函数的描述

    怎么在windows 7开始菜单中添加下载选项?

    SQL Server 2016将有哪些功能改进?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。