利用jstl标签实现国际化

首先需要两个jar包,一个是jstl.jar,一个是standard.jar

然后需要写个properties,就写两个吧,一个中文test_zh_CN.properties,一个英文的test_en_US.properties

test_zh_CN.properties

#test_zh_CN.properties
test.text1=这个是第一句文字
test.text2=这个是第二句文字

test_en_US.properties

test.text1=this is the first sentence
test.text2=this is the second sentence

然后就写个index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
    String lang = request.getParameter("lang")==null?"E":request.getParameter("lang");
    System.out.println(lang);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>title</title>
</head>
<body>

<!--properties语言部分的名字-->
<% if("C".equals(lang)){ %>
    <fmt:setLocale value="zh_CN"/>
<% }else{ %>
    <fmt:setLocale value="en_US"/>
<% } %>
<!-- properties名字部分(如果properties是在com的demo包里面的话 需要把包名加到test前面 如:com.demo.test)-->
<fmt:bundle basename="com.asiapay.i18n.test">

<form method="POST" id="lang_form" name="lang_form" action="">
        <fmt:message key="id"/>
        <br>
        <fmt:message key="name"/>
        <br>
        <input type="hidden" id="lang" name="lang" value="<%="C".equals(lang)?"E":"C"%>">
        <input type="submit" id="submit" name="submit" value="submit">
</form>
</fmt:bundle>

</body>
</html>

基本就是这样了,要注意内容的编码,还有最最最重要的地方是的basename里面一定要有完整路径(properties要放src里面,路径就是src下的路径)

demo:http://download.csdn.net/download/qq_22778717/10232777

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值