国际化

Posted lusufei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了国际化相关的知识,希望对你有一定的参考价值。

在src目录下新建.properties文件如

struts2.xml文件

<!-- 配置国际化资源文件 -->
    <constant name="struts.custom.i18n.resources" value="i18n"></constant>

 

//内容英文

username=UserName
passwword=Password
submit=Submit

time=Time:{0}//带占位符

//中文
username=\\u7528\\u6237\\u540D
password=\\u5BC6\\u7801
submit=\\u63D0\\u4EA4

time=\\u65F6\\u95F4:{0}

//默认
username=UserName
password=Password
submit=Submit

time=Time:{0}

Action

package com.i18n;

import java.util.Arrays;
import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

public class TestI18nAction extends ActionSupport {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    private Date date = null;
    
    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    @Override
    public String execute() throws Exception {
        
        date = new Date();
        
        //1. 在 Action 中访问国际化资源文件的 value 值
        String username = getText("username");
        System.out.println(username);
        
        //2. 带占位符的
        String time = getText("time", Arrays.asList(date));
        System.out.println(time);
        
        return SUCCESS;
    }
}
<%@page import="java.util.Date"%>
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    
    
    

    <a href="I18n?request_locale=en_US">English</a>
    <a href="I18n?request_locale=zh_CN">中文</a>
    <br><br>
    
    
    <br><br>

       <!--通过s:text拿到国际化文件内容-->
    <s:text name="time">
        <s:param value="date"></s:param>
    </s:text>
    
    

    
    <br><br>
    
    
    <s:form action="" theme="simple">
        
        <!--通过强制OGNL解析-->
        <s:text name="username"/>:<s:textfield name="username" label="%{getText(\'username\')}"></s:textfield>
        
        <!-- key 的方式是直接上资源文件中获取 value 值 -->
        <s:text name="username"/>:<s:textfield name="username" key="username"></s:textfield>
        <s:text name="password"/>:<s:password name="password" key="password"></s:password>
        <s:submit key="submit" value="%{getText(\'submit\')}"></s:submit>
            
    </s:form>
    
</body>
</html>

 

 

以上是关于国际化的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 国际化(messages.properties)

Ionic App之国际化 json数组的处理

20160222.CCPP体系详解(0032天)

SQL:按电子邮件域名排序

jsp简介

微信小程序代码片段