2010-07-02 51 views
1

對於現在不計算在內的許多內部問題,我們有一個Servlet過濾器,可以改變所有結果,即application/xhtml+xml並重寫爲text/html;charset=UTF-8,所以即使使用facelets,它也可以在IE 6.0中正常工作。編寫一個自定義的HtmlResponseWriter JSF

我的問題是在HtmlResponseWriter,它是負責渲染的組件。是否可以擴展它並覆蓋它的方法,以便我們完成濾鏡的預期效果?

  • 內容類型將始終以text/html格式輸出;
  • 編碼將始終爲UTF-8;
  • 腳本標記將被包裹在< ! -- <[[CDATA ]]> -->內。

在此先感謝。

+0

凡究竟'是application/xhtml + xml'從何而來?標準的JSF/Facelets在默認情況下不會發出。你爲什麼不直接修復它而不是重寫渲染器? – BalusC 2010-07-05 13:34:37

+0

Hello BalusC,該模板包含,以便在JavaScript中包含cdata,但卻愚弄瀏覽器(實際上是IE-6)以text/html的形式讀取響應。 因此,所有產生文本/ html響應的請求將作爲application/xhtml + xml提供,但過濾器會將其設置爲text/html。我會尋找更多信息以更好地回答您的考慮。 – 2010-07-05 19:13:59

+0

我只是將'text/html'作爲'text/html'並將JS移動到它自己的'.js'文件中,通過'