0

タペストリーで複合コンポーネントを作成する方法を教えてもらえますか?私は、ui:defineと同様にを使用してJSFでこれを行う方法を知っています。しかし、タペストリーはどうですか?

次の設定を作成したいと思います。

sidebar.tml:いくつかの置換可能な変数を定義する必要があります。ここでは「ヘッダー」と「コンテンツ」です。

<t:container>
The header is ${header}, and the content ist ${content}.
</t:container>

layout.tml:サイドバーが常に整列する適切な場所を定義する必要があります

//header
<t:sidebar /> 
//footer

customPage.tml:サイドバーのコンテンツを配信する必要があります

<t:sidebar>
    <t:header>my header</t:header>
    <t:content>some content here</t:content>
</t:sidebar>

この方法ではできないことはわかっていますが、私がやろうとしていることを理解していただき、私を助けていただければ幸いです。

tyvm

4

1 に答える 1

3

これは私がそれをする方法です:

sidebar.tml

<t:container>
The header is <t:delegate to="header"/>, and the content ist <t:delegate to="content"/>
</t:container>

Sidebar.java

public class Sidebar
{
    @Property
    @Parameter(required = true)
    private Block header;

    @Property
    @Parameter(required = true)
    private Block content;

layout.tml

//header
<t:sidebar header="sidebarHeader" content="sidebarContent"/> 
//footer

Layout.java

public class Layout
{
    @Property
    @Parameter(required = true)
    private Block sidebarHeader;

    @Property
    @Parameter(required = true)
    private Block sidebarContent;

customPage.tml

<t:layout>
    <p:sidebarHeader>my header</p:sidebarHeader>
    <p:sidebarContent>some content here</p:sidebarContent>
    rest of your content here
</t:layout>

それが役に立てば幸い!

于 2012-04-25T08:22:09.017 に答える