代码改变世界

tapestry自定义组件

2016-09-18 15:45  雄风狂飙  阅读(391)  评论(0)    收藏  举报

tapestry环境已经搭建好了,下面可以自定义一个组件了。

1.tapestry组件必须三元素:*.html,*.jwc,*.java

 

先看*.html,这里我用的名字是MyTest.html

<span>这是一个组件测试!</span>

然后,MyTest.jwc

<!DOCTYPE component-specification PUBLIC
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<component-specification class="com.yangpb.jwc.MyTest"
    allow-body="yes"
    allow-informal-parameters="no">
    <description>
        my test
    </description>
</component-specification>

最后,是MyTest.java,这个要继承于tapestry的这个BaseComponent,

package com.yangpb.jwc;

import org.apache.tapestry.BaseComponent;


public abstract class MyTest extends BaseComponent{
	
	

}

  最后,我们看一下这三个文件的目录结构:

2.其他需要配置的文件:

   第一个是,必须在工程的配置文件即一个和工程同名的.application文件中引入:

    <library id="my" specification-path="/com/yangpb/jwc/my.library"/>

  第二个是,新增这个my.library文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library-specification PUBLIC
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<library-specification>
    
    <component-type  type="MyTest"  specification-path="MyTest.jwc"/>   
    
</library-specification>

  ok,现在组件就构建完成了,可以在其他页面进行引用了。

 

     这两个文件的结构如下(但是由于这些文件都指定了目录,因此其目录可以根据自己需要进行调整):

 

3.在Home.html中使用这个组件。

 代码如下:

<span jwcid="@my:MyTest" >
</span>

4.启动服务器,打开http://localhost:8080/你的工程名称/app

显示出来了,“这是一个组件测试”。ok,组件搭建完毕,并且可以使用了。

总结一下,废话不多说,如下图: