3

これは私が理解したことの要約です:

ui:decorate

  1. 使えるui:define
  2. 使えるui:param
  3. 外部コンテンツを持つことができます

ui:composition

  1. 使えるui:define
  2. 使えるui:param
  3. -> 外部コンテンツを持つことはできません

ui:include

  1. -> 使用できませんui:define
  2. 使えるui:param
  3. 外部コンテンツを持つことができます

これらを想定して、私は使用することができます

ui:decorateなのでui:composition

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

    <!-- no content here -->

    <ui:decorate template="templates/page.xhtml">
        <ui:define name="test">
            <h:outputText value="#{someBean.someProperty}"/>
        </ui:define>
    </ui:decorate>

    <!-- no content here -->
</html>

ui:decorateなのでui:include

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

    <h:panelGroup>...</h:panelGroup>

    <ui:decorate template="fragments/page.xhtml">
        <ui:param name="test" value="#{someBean.someProperty}"/>
    </ui:decorate>

    <h:panelGroup>...</h:panelGroup>
</html>

それで、私は何かが欠けていますか?誤解?

私が正しければ、なぜ 3 つの異なるコンポーネントがあるのですか? (私が正しければ、それらが異なる目的に使用されているとは言わないでください)

4

0 に答える 0