利用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>titletitle>
head>
<body>


<% if("C".equals(lang)){ %>
    <fmt:setLocale value="zh_CN"/>
<% }else{ %>
    <fmt:setLocale value="en_US"/>
<% } %>

<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

你可能感兴趣的:(java)