2011-02-23 79 views
3

我的意思是下面的指令爲什麼JSP頁面編碼指令應該是JSP中的第一行?

<%@ page contentType="text/html; charset=UTF-8" %> 

我有很多的JSP。我在一個已經包含在所有JSP中的公共文件中編寫了這一行。但是這沒有幫助,我可以看到瀏覽器使用的編碼不同於我在上面的指令中指定的編碼。

我不得不手動編寫該指令作爲解決問題的第一行。

我要求在this article

回答

3

問題是,該指令之前的任何內容都會將其輸出寫入到輸出流中,並且該編碼指定該流如何將頁面的字符串內容轉換爲字節,因此它必須在創建流時設置,之前寫入任何內容。

+0

是啊我同意,但在我使用的常見文件中,@頁面編碼是第一行。並且我寫了include指令將每個jsp中的公共文件作爲第一行。所以在這個指令遇到之前什麼都沒有發送到客戶端(需要編碼轉換) – harrybvp 2011-02-23 10:40:06

+0

你能評論這個嗎? – harrybvp 2011-02-23 10:50:10

-1

提出的問題背景下,這個問題是怎麼回事就Java運行時知道這個文件是一個JSP,因此編譯和處理它本身,而不是純文本是公正推送給客戶?

+1

contentType頁面指令與JSP容器如何決定將哪些文件編譯爲JSP完全無關。 – 2011-02-23 10:34:09