Tapestry自定义组件库的属性提示功能(Content Assist)

      自定义好的Tapestry组件,如果没有属性提示功能(Content Assist)功能是一件很遗憾的事,开发的组件对于开发者来说用起来很爽,但对于别的开发者来说要一个个猜这些属性的功能就不爽了,如果能利用  eclipse的 Content Assist开发提示功能就能解决这个问题。

      对于Tapestry核心组件要让开发工具有提示功能可以参考http://wiki.apache.org/tapestry/Tapestry5JSPEditorEclipse,  由这编文档我们可以知道,要使组件具有提示功能首要条件就得有一个组件描述文档(****.tld),Tapestry的核心组件的描述文档可以在那个地址上下载下来,但是自己定义的组件该如何处理呢?得分二种情况来处理:

  1. 项目自定义组件,这部分组件用的是与Tapestry核心组件相同的命名空间(一般都设置为“t”)。那么我们可以修改 Tapestry的核心组件的描述文档后重启eclipse就可以了。

  2. 自定义的组件库:这种组件有自己的使名空间,一般以jar包的形式独立于项目存在。那么它就需要有自己的组件的描述文档,当然,我们可以依照核心组件的描述文档来写一份自己的组件库描述文档,但是纯手工的方式维护起来不方便还容易出错,这时使用Maven插件来生成自定义的组件库的描述文档是很有必要的了。

    下面,就用开的component组件库(https://git.oschina.net/rjzjh/component.git)的tld文件生成做为示例说明一下:

component的pom文件中加入tapestry-tldgen插件,代码如下:

                       <plugin>
				<groupId>fr.exanpe</groupId>
				<artifactId>tapestry-tldgen</artifactId>
				<version>1.1.0</version>
				<configuration>
					<uri>tapestry-library:rjzjh</uri>
					<namespace>r</namespace>
					<rootPackage>cn.rjzjh.tapestry.component</rootPackage>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>

参数说明:

  groupId、artifactId、version 不用说了

  • uri:指组件库的前缀,它是在组件库的说明类(tapestry-module-classes定义的Class类)中描述的前缀,component是这样配置的:

public static void contributeComponentClassResolver(
			Configuration<LibraryMapping> configuration) {
		configuration.add(new LibraryMapping("rjzjh",
				"cn.rjzjh.tapestry.component"));
	}

  所以uri就配置为 rjzjh

  • namespace:组件的命名空间,就是在使用此组件定时要做定义,例如,使用component的组件是这样使用的:

<html  title="Not found tapestry-demo"
      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
      xmlns:r="tapestry-library:rjzjh"
      xmlns:p="tapestry:parameter">
    <r:validatebox name="userName"></r:validatebox>

上面“xmlns:r”这个r就是命名空间

  • rootPackage:这个就是组件库的组件存放的包名了,这个Maven插件只对此包内的组件产生tld文件。

  • encoding:组件所用的编码,就是Java文件的编码。


配置完上述插件后就可以通过命令:mvn tapestry-tldgen:tld-generate 来生成组件描述文件了,顺利的情况下会在target目录下生成component-1.0.tld文件。有了tld文件我们就可以来配置eclipse使我们在开发的时候能自动提示,我开发 tml模板时用的编辑器是Amateras,可以去

http://sourceforge.jp/projects/amateras/releases/ 进行下载最新版,把它放到 eclipse的plugins目录下就好了。接下来需要做如下配置:

  • 配置好tml文件类型的默认关联编辑器,如下图:

195147_Wt7k_1865914.jpg

  • 配置好tld文件,选择菜单 window->preferences ,在对话框的左上角搜索栏输入“tld”,选择"TLD"配置栏,点击"Add"按钮输入URI和Local Path信息,如下图:

200016_dBJj_1865914.jpg


做完这些配置后就可以让eclipse出现我们开发组件的提示功能了,先看一下组件提示功能:

200220_O9C2_1865914.jpg

再看一下属性提示功能:

200255_tCoI_1865914.jpg





转载于:https://my.oschina.net/rjzjh/blog/351028

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值