使用其他组件作为“<ui:include>”的参数

时间:2016-09-02 08:37:48

标签: jsf-2

在编写各种组件(特别是在这种情况下是弹出窗口)时,有些情况下您需要比<ui:param>提供的更多自定义。具体来说,我希望能够<ui:define> <ui:include>的某个部分,或者具有默认值,例如:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
            xmlns:ui="http://java.sun.com/jsf/facelets">
<div class="overlay pop-up">
    <aside class="pop-up">
        <main>
            <h2>
                ${headerText}
            </h2>

            <p>${contentText}</p>
        </main>
        <div class="buttons-holder">
            <ui:insert name="button-content">
                <button class="ok">OK</button>
            </ui:insert>
        </div>
    </aside>
</div>
</ui:composition>

您将其用作

    <ui:include src="pop-up-ok.xhtml">
        <ui:param name="headerText" value="Please try again."/>
        <ui:param name="contentText" value="The QR code could not be scanned - please try again."/>

        <ui:define name="button-content">
            <button>Different button</button>
            <button>Another button</button>
        </ui:define>
    </ui:include>

<ui:define> / <ui:define>似乎只在模板中受到支持 - 是否有任何等价物可以提供我正在尝试做的事情?或者我是否必须编写完整的基于Java的自定义组件?

0 个答案:

没有答案