1

私は奇妙な行動を経験しています(少なくとも私の目には)。

インクルードのあるテンプレートから投稿すると、どういうわけか DOCTYPE と html-tag が欠落しています。

widget.xhtml が含まれている template1.xhtml を使用する home1.xhtml で GET を実行するとします。次に、home2.xhtml で POST を実行します。現在、応答に DOCTYPE と html-tag がありません。

もし私が

  • home2.xhtml で直接 GET を実行するか、

  • template1.xhtml のインクルードをインクルードの内容に置き換えて、POST を実行します。

予想どおり、DOCTYPE と html-tag が応答に含まれています。

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>

ウィジット.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>

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>

レンダリングされたページに表示される DOCTYPE と html-tag を取得するにはどうすればよいですか?

私がここで見逃しているヒントはありますか?

ジョニー

4

1 に答える 1

2

バグのようです。http://java.net/jira/browse/JAVASERVERFACES-2453を参照してください。

于 2012-07-10T09:18:19.967 に答える