支持在我的Java類,我試圖做類似HttpServletResponse的issue.setCharacterEncoding:依賴屬性沒有被現代編譯器
HttpServletResponse.setCharacterEncoding("UTF-8");
但代碼失敗的消息編譯:
現代編譯器不支持Depend屬性。
如果我刪除此行,代碼編譯沒有任何問題。
任何人都可以對此有所瞭解嗎?
感謝
支持在我的Java類,我試圖做類似HttpServletResponse的issue.setCharacterEncoding:依賴屬性沒有被現代編譯器
HttpServletResponse.setCharacterEncoding("UTF-8");
但代碼失敗的消息編譯:
現代編譯器不支持Depend屬性。
如果我刪除此行,代碼編譯沒有任何問題。
任何人都可以對此有所瞭解嗎?
感謝
HttpServletResponse.setCharacterEncoding()不是一個靜態方法。你需要在一個實例上調用它。喜歡的東西:(假設你的實例名爲resp
)
resp.setCharacterEncoding("UTF-8");
或者,你可以在Content-type
頭這樣設置字符編碼:
resp.setContentType("text/html; charset=UTF-8")
編輯:好吧,你的意見,我看你已經在做這個。我從字面上理解了這個問題的措詞。無論如何,這個問題很可能是因爲您正在使用javac
並啓用了依賴關係跟蹤。這是一個可以在命令行上傳遞的標誌(或者屬性爲<javac>
ant任務)。關閉依賴關係跟蹤。 Sun的編譯器不支持它。
爲什麼它沒有說通常的事情:*「非靜態屬性不能從非靜態上下文中調用」*(或類似的東西)它適用於編譯器版本嗎? – OscarRyz 2009-12-22 23:17:08
OP必須在打開依賴關係跟蹤的情況下編譯。這是一個可以在命令行上傳遞的標誌(或者在javac ant任務中)。 Sun的編譯器不支持它。 – Asaph 2009-12-22 23:22:25
我實際上使用了HttpServletResponse的一個實例。我只是輸入HttpServletResponse.setCharact ....來使類/對象的名稱完全創建,但它結束了創建更多的混淆。所以要清楚..我正在使用類似 resp.setCharacterEncoding(...); 其中resp是HttpServletResponse的一個實例 – makhan10 2009-12-22 23:23:16