JSF:ui:include不适用于ui:define

JSF:ui:include不适用于ui:define,jsf,jsf-2,jsf-2.2,Jsf,Jsf 2,Jsf 2.2,我有一组edit.xhtml页面,每个页面都有一个相关的托管beanmanager,一个通用的定义子集,以及一个不同定义的子集。我想这样封装公共定义,但失败了(未传入managerui:param): 从典型的edit.xtml: <ui:composition template="/template.xhtml"> <ui:include src="/include/define_common_edit.xhtml"> <

我有一组edit.xhtml页面,每个页面都有一个相关的托管bean
manager
,一个通用的定义子集,以及一个不同定义的子集。我想这样封装公共定义,但失败了(未传入
manager
ui:param):

从典型的
edit.xtml

<ui:composition template="/template.xhtml">

        <ui:include src="/include/define_common_edit.xhtml">
            <ui:param name="manager" value="#{quantityManager}"/>
        </ui:include>

<ui:define name="body">
   // specific part
问:在这种情况下,
ui:include
为什么不处理
ui:define
(即为什么
ui:include
在解释
ui:define
之前不“先工作”

一个可接受的答案不会简单地解释
ui:include
ui:define
是如何工作的,我已经知道了。答案必须是JSF规范或类似的权威描述(我已经检查了JSF规范和JavaEE教程,但还没有找到涵盖上述情况的确切描述)

欢迎提出建议,说明如何封装上述非变化的
ui:define
元素组以促进编码

<ui:composition 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"        
    xmlns:util="http://xmlns.jcp.org/jsf/composite/util">

    <ui:define name="htmltitle">
        <util:edit_htmltitle manager="#{manager}"/>
    </ui:define>

    <ui:define name="title">
        <util:edit_title manager="#{manager}"/>
    </ui:define>

    <ui:define name="actions">
        <util:edit_actions manager="#{manager}"/>
    </ui:define>

</ui:composition>