實現國際化
由于要實現中英日文的顯示,采取以下步驟:
開發和編譯代碼時指定字符集為UTF-8。Eclipse可以在項目屬性中設置。 使用過濾器,如果所有請求都經過一個Servlet控制分配器,那么使用Servlet的filter執行語句,將所有來自瀏覽器的請求(request)轉換為UTF-8,因為瀏覽器發過來的請求包根據瀏覽器所在的操作系統編碼,可能是各種形式編碼。request.setCharacterEncoding("UTF-8")。需要配置web.xml 激活該Filter。在JSP頭部聲明:
<%@ page contentType="text/html;charset= UTF-8" %>。
在Jsp的html代碼中,聲明UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
設定數據庫連接方式是UTF-8。例如連接MYSQL時配置URL如下:
jdbc:mysql://localhost:3306/feedback_db?useUnicode=true&characterEncoding=UTF-8
其他和外界交互時能夠設定編碼時就設定UTF-8,例如讀取文件,操作XML等。
不同時區時間顯示
由于客戶端可能處于不同的時區,因此應該顯示不同服務器時間。由于與客戶端有關,因此需利用一段javaScript代碼,從客戶端獲取其所在的時區偏移量。該偏移量是針對GMT時間而言的,也就是格林威治時間,以分鐘為單位。
function getTimezone()
{
var d = new Date();
document[getNetuiTagName("loginForm", this)][getNetuiTagName("timezone", this)].value=
d.getTimezoneOffset();
}
獲取之后將他傳回服務器端并保存在session中。顯示時間時根據這個偏移量來計算顯示的時間。