2010-07-02 59 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'文件中,通过'