如果一個網頁想要有中/英文版。該怎麼處理呢?
有二種方法吧
1.土法煉鋼
寫一個 index_tw.jsp 中文網頁
再寫另一個 index_en.jsp網頁
下去切換
即可做到中英文的效果
但是,網頁頁面一旦多,你就會寫的很累....
維護更是不易
所以來介紹第二種方法吧!!
2.利用 i18n達到多國語言切換
首先,開個專案
並在source package中件一個language的package
且在language 中 再建2個properties文件
一個是form_en,另一個則是form_tw
如附圖
接著,打開properties,開始來寫對照表囉
在form_en中寫 : account=Account
在form_tw中寫 :account=帳號
account是變數名稱=(你要表示的文字)
如附圖
還有
http://www.java2s.com/Code/Jar/j/Downloadjstl12jar.htm
去下載 jstl1.2.jar
不然即使程是寫好也無法運作..
以上,前置作業完成!!
-----
接下來看到JSP網頁這部分
以下是程式碼
<pre class="brush:something">
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <%String lang2=request.getParameter("lang"); if(lang2==null){ lang2="tw"; } %> <body> <font size="7"> <a href="<%= request.getRequestURI()%>?lang=tw">中文</a> <a href="<%= request.getRequestURI()%>?lang=en">English</a> <fmt:setLocale value="<%=lang2%>" /> <fmt:setBundle basename="language/form" var="formBundle" /> </br> <fmt:message key="account" bundle="${formBundle}" /></font> </body> </html></pre>
------
以下,來說明一下程式碼:
這是宣告你要用哪種語言:
<fmt:setLocale value="<%=lang2%>" />
這是說明你的路徑,因為我把properties放在language的package下面,所以路徑是language/form:
<fmt:setBundle basename="language/form" var="formBundle" />
附圖
終於可以中英切換了
文章標籤
全站熱搜
留言列表