JSF国际化简单用例。
我目前管理的项目就是和印度合作开发的项目,所以在项目中不得不考虑国际化问题。希望大家在看了这里简单例子后能对国际化的应用有所了解,如果是国内的项目其实不考虑也无所谓,除非你的程序要支持不同语言的访问。
native2ascii 的用法
C:/>native2ascii -encoding GB2312 E:/ECLIPSE/workspace/guojihua/WebRoot/WEB-INF/
classes/mess/messages_zh_CN.txt messages_zh_CN.properties
功能说明 把
messages_zh_CN.txt
name=你好,
hello=这是国际化示例!
转化为
messages_zh_CN.properties
name=/u4f60/u597d/uff0c
hello=/u8fd9/u662f/u56fd/u9645/u5316/u793a/u4f8b/uff01
*记住这个生成后的文件是在C盘下面。
第一步:
在WEB-INF/classes/mess文件夹下建立如下几个文件,
messages.properties(文件名)
name=hello guest
hello=I am fine !
messages_en.properties(文件名)
name=hello guest
hello=I am fine !
messages_zh_CN.txt(文件名)
name=你好,
hello=这是国际化示例!
messages_zh_CN.properties(文件名)这个文件是由上述介绍的 native2ascii 的用法 来生成的
name=/u4f60/u597d/uff0c
hello=/u8fd9/u662f/u56fd/u9645/u5316/u793a/u4f8b/uff01
第二步:
再web目录下建立
<%@ page language="java" pageEncoding="UTF8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:view locale="en_US">
<f:loadBundle basename="mess.messages" var="abc"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<h:outputText value="#{abc.name}"></h:outputText>
<h:outputText value="#{abc.hello}"></h:outputText>
</head>
<body>
<h:commandButton type="submit"></h:commandButton>
</body>
</html> </f:view>
第三步:
修改faces-config.xml文件增加这段配置
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>zh_CN</supported-locale>
</locale-config>
</application>
修改完的faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>zh_CN</supported-locale>
</locale-config>
</application>
</faces-config>
这个例子主要是让大家知道怎么用,至于深刻的研究我这里不多写了。因为我们的目的是入门。希望大家以后多光临我的BLOG,计划在我学习完入门后,会做一个报表工具的项目,到时候应该会有许多复杂的应用