Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 POST上呈现的页面缺少DOCTYPE_Jsf 2_Facelets_Cdi_Mojarra - Fatal编程技术网

Jsf 2 POST上呈现的页面缺少DOCTYPE

Jsf 2 POST上呈现的页面缺少DOCTYPE,jsf-2,facelets,cdi,mojarra,Jsf 2,Facelets,Cdi,Mojarra,我正在经历一种奇怪的行为(至少在我眼里是这样) 不知何故,当我从包含的模板发布帖子时,DOCTYPE和html标记丢失了 假设我使用包含widget.xhtml的template1.xhtml访问home1.xhtml。现在我在home2.xhtml上发了一篇帖子。现在resonse缺少DOCTYPE和html标记 如果我 直接在home2.xhtml或 用include的内容替换template1.xhtml中的include并发布 响应中的DOCTYPE和html标记与预期一致 home

我正在经历一种奇怪的行为(至少在我眼里是这样)

不知何故,当我从包含的模板发布帖子时,DOCTYPE和html标记丢失了

假设我使用包含widget.xhtml的template1.xhtml访问home1.xhtml。现在我在home2.xhtml上发了一篇帖子。现在resonse缺少DOCTYPE和html标记

如果我

  • 直接在home2.xhtml或

  • 用include的内容替换template1.xhtml中的include并发布

响应中的DOCTYPE和html标记与预期一致

home1.xhtml:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="template1.xhtml">
  <ui:define name="content">

  </ui:define>
</ui:composition>

template1.xhtml:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets" >
<h:head>
</h:head>
<h:body>
  Called with GET
  <ui:include src="widget.xhtml" />
  <h:form>
    <h:commandLink action="#{homeBean2.show}" value="POST" />
  </h:form>
</h:body>
</html>

用GET打电话
wigdet.xhtml:

<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html" >
  <h:form id="someForm">
  </h:form>
</ui:composition>

home2.xhtml:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="template2.xhtml">
  <ui:define name="content">
    POST 1
  </ui:define>
</ui:composition>

职位1
template2.xhtml:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets" >
<h:head>
</h:head>
<h:body>
    template 2
</h:body>
</html>

模板2
如何使DOCTYPE和html标记显示在呈现的页面中

有什么提示我遗漏了什么吗


乔尼

看起来像只虫子。请参见

您使用的是什么JSF impl/版本?PrimeFaces与此有何关联?移除素面时,问题是否消失?Tomcat6与此有何关联?如果使用Tomcat7或Glassfish等其他服务器,问题是否会消失?如果它们完全不相关,请删除标签,并提及它们排除在问题原因之外。嗨,巴卢斯克,谢谢你的评论。我将对此进行调查,并尝试进一步剥离我的项目。我将在周一做的第一件事。嗨,各位,不幸的是,我没有时间缩减我的项目,以缩小导致麻烦的lib。但是有一件事:在将Mojarra从2.1.9更新到2.1.10之后,我至少又得到了
html标记
,但是
DOCTYPE
仍然缺失。好吧,我尽可能地精简了我的项目,删除了primefaces等等。。莫哈拉造成了这个问题。使用MyFaces作为jsf实现工作。有人知道在哪里调试Mojara来解决这个问题(bug?)吗?不能在一个空白的、最小的游乐场项目上重现你的问题。所以这很可能是一个环境配置错误。我已经得到了Netbeans项目来重现这个问题。如果你需要,请告诉我。