利用jstl標籤實現國際化


一、 咱們編寫中英文資源文件message_en.propertiessmessage_en.properties兩個文件要放到項目的根目錄下;javascript

二、 jsp中利用jstl標籤引用資源文件,同時給該項目導入jstl.jarstandard.jar這兩個jar包,在jsp頁面中引入下面連個庫文件java

 <%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core" %>ajax

<%@   taglib prefix="fmt"   uri="http://java.sun.com/jsp/jstl/fmt" %>session

....異步

<body>jsp

       <!--    設置默認語言  -->字體

 <c:set var="loc"   value="zh"/> url

<!--區域語言的值從傳過來的參數中獲得-->spa

 <c:if test="${!(empty sessionScope.local)}"> 事件

  <c:set var="loc"   value="${sessionScope.local}"/>

</c:if>

      <fmt:setLocale value="${loc}" />           <!--指定區域語言-->

       <fmt:bundle basename="message">   <!-- 指定使用basenamemessage的資源文件,也即資源文件第一個單詞爲message-->

           <center>

           <table>

               <tr>

                   <td><fmt:message   key="email"/></td>

                   <td><input   type="text" name="email"></td>  

               </tr>

           </table>

           </center>  

       </fmt:bundle>   <!—使用的標籤要在這個標籤包含裏才若是沒有寫這個的話會報錯!/index.jsp(35,0) Unterminated &lt;fmt:bundle tag

 

-->

    </body>

 

設置切換

<th>Language:<img   id="ch" src="resource/image/cn.png">

 <img id="ck"   src="resource/image/ck.png">

</th>

<script type="text/javascript">

<!--

中英文點擊事件

ajax異步刷新,切換

//-->

$(document).ready(function(){

    $("#ch").click(function(){

        $.ajax({

            url:"setLanguage.do",

        data: "language=zh",

           success:function(result){

            location.reload();

        }});

        });

    $("#ck").click(function(){

        $.ajax({

            url:"setLanguage.do",

        data: "language=en",

           success:function(result){

            location.reload();

        }});

        });

    });

 

</script>

 

 

後臺接受參數,設置到語言字體到session

public void SetLanguage(HttpServletRequest request,

            HttpServletResponse response) {

        String lan = request.getParameter("language");

        if("en".equals(lan)){

            local=new Locale("en");

        }else{

         

        local = new Locale("zh");

        }

       

        request.getSession().setAttribute("local", local);

}

最後作了一個小demo若是不瞭解能夠看一下demo, http://pan.baidu.com/s/1kTIFlJL

相關文章
相關標籤/搜索