【问题标题】:How to change Content-Type header in JSF 2.2如何在 JSF 2.2 中更改 Content-Type 标头
【发布时间】:2015-05-08 16:37:21
【问题描述】:

如何让 JSF 发送 http 标头
Content-Type: application/xhtml+xml;charset=UTF-8 而不是当前的
Content-Type: text/html;charset=UTF-8

web.xml 中添加以下 sn-p 无效。

<mime-mapping>
    <extension>xhtml</extension>
    <mime-type>application/xhtml+xml</mime-type>
</mime-mapping>

我的示例文件webapp/sample.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
<f:view>
    <h:outputLabel value="Hello, world"/>
</f:view>
</html>

环境:
JSF 2.2、WildFly 8.2

【问题讨论】:

  • 因为application/xhtml+xml是XHTML5的正确MIME类型w3.org/TR/html5/introduction.html#html-vs-xhtml
  • 是的,我知道,但是您是否阅读了我发布的有关 IE 的链接中的答案?
  • 是的,我做到了,谢谢你。知道如何更改该设置仍然感觉很好,而不仅仅是为合理的默认设置感到高兴。

标签: jsf-2 xhtml http-headers content-type wildfly-8


【解决方案1】:

您可以在&lt;f:view&gt;中设置如下:

<f:view contentType="application/xhtml+xml">

但是,对于 HTML,这是错误的值。 JSF/XHTML 生成的 HTML 输出应该真正具有 text/html 内容类型。可以在When to use f:view and f:subview 的答案中找到解释,尤其是在该答案的“另请参阅”链接中。

【讨论】:

  • 值得注意的是,我不知道这一点,但谷歌是我的朋友。让它成为你的
猜你喜欢
  • 1970-01-01
  • 2018-08-27
  • 1970-01-01
  • 2012-07-11
  • 2019-04-19
  • 2016-01-30
  • 1970-01-01
  • 2017-05-19
  • 1970-01-01
相关资源
最近更新 更多