2010-08-20 5 views

ответ

3

Чтобы создать компонент Tapestry, вы создаете класс компонента и (обычно) .tml-файл в пакете компонентов вашего приложения Гобелен.

Класс компонент пример, который делает один пост в приложении блоггинга:

package my.tapestry.basepackage.components; 

... 

public class Post { 

    @Parameter(allowNull = false, required = true, 
      defaultPrefix = BindingConstants.PROP) 
    private BlogPost post; 

    public BlogPost getPost() { 
     return post; 
    } 

} 

Соответствующий Post.tml:

<t:container xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" 
     xmlns:p="tapestry:parameter"> 
    <h2>${post.title}></h2> 
    <p> 
     <span t:type="ck/dateFormat" t:value="post.created" 
       t:pattern="d/M/yyyy" /> 
    </p> 
    <div> 
     ${post.text} 
    </div> 
</t:container> 

Вы можете использовать свой компонент в любой из ваших страниц, так же, как вы используете встроенные компоненты Гобелена:

<div t:type="Post" t:post="post" /> 
+0

И, конечно, компоненты могут содержать свои собственные Actio nLinks, EventLinks, Forms и т. д. вместе с методами обработчика событий, поэтому вы не просто копируете контент между страницами ... вы воспроизводите поведение. –