我们在使用MyEclipse新建一个html、jsp等文件时,一般都是选择myeclipse里边自带的一些模版来新建,这样可以符合一些即定的格式,容易方便又上手很快。但是如果你不使用html等系自带的页面编辑模板时,需要自己到处去copy,然后还比较麻烦。有没有办法在myeclipse里边添加一个符合我们自己格式的模板呢,当然可以----这里以添加一个tapestry 5的tml模板为例介绍myeclipse添加新模板的功能。
如果需要新添加一类模板时还要添加类等,因此我这里就在html模板里边新建一个tml模板的选项。
1、在MyEclipse的安装目录下找到Genuitec\Common\plugins\com.genuitec.eclipse.wizards_XXXX.me201007140905.jar文件(我这是高版本的myeclipse,如果是低版本的myeclipse,是一个类似结构的文件夹),将这个jar包解压之后,可以看到如下图的目录结构
看到它,我们看到有一个名为templates的文件夹,顾名思义,该文件夹下就是一些模板文件。前边说过我要在html模板里边添加一个tml模板的新建项,因此在templates\html文件夹中按照Html.vtl新建一个如下图所示的tml模板文件TapestryTml.vtl。
该文件1-5行为注释内容。第6行的*#$doctype为将要插入的页面头类型(后边会用到)。第9行为引入另一个文件中配置的meta等元素信息。Ok,将新建的tml模板文件添加到上边的jar包中。
2、打开templates.xml文件,分析并对比myeclipse里按模板新建一个文件时的选项,我们不难看出在里边配置了使用到的模板文件,模板名,引用的头文件信息。而头文件基本不需要修改,因此我们这里只需要添加对应的模板名及模板路径。
在对应的html template 附近添加模板的引用
同时在该文件中还配置了*#$doctype内容,这里就不再介绍了。
将该文件重新添加到jar包中替换原有的文件,重新启动MyEclipse,可以看到在选择Html模板新建一个文件时,多了一个Tml template with tapestry 5.1.0.5的模版选项,选择它,将文件名修改为XXX.tml,确定后我们需要新建的tml文件就按即定的格式新建好了。
至此,我们已经可以通过html向导来新建一个tml模版了。但是注意到上图中,当我输入XXX.tml时,有一个警告,感觉很不爽,想去掉,咋办呢,这就要修改其jar文件了。
我们可以看到在上述jar包中有个wizards.jar包,使用反编译工具后,可以看到在com.aston.wizards.html.NewHtmlCreationWizardPage类中有个特别的地方
这里可以看到,当文件名为空或不是以.html或.htm结尾时显示警告,OK现在将这里动手术,使用反编译后的源码,添加上.tml的判断,修改为
注意,在这里操作的过程中,会有很多类找找不到,我们需要到myeclipse的安装目录下去找到这些对应的jar包添加到工程里边。以myeclipse 9.0 M1版为例,需要添加的jar包文件有:
编译后替换原有的class文件,同时修改wizards.jar包中的language.properties资源文件,将原有的警告提示语"lg.warning.htmlfilemustbe=File naming conventions recommend a HTML extension (.html or .htm)"修改为" lg.warning.htmlfilemustbe=File naming conventions recommend a HTML extension (.html or .htm or .tml)"。
OK,至此我们在File Name处输入XXX.tml的话,再也不会有不爽的警告提示了。
注意:在修改完这个jar包后,重新myeclipse时,添加还是不按我们想要的效果显示,这是因为在myeclipse安装目录下还有一个单独的wizards.jar文件,与com.genuitec.eclipse.wizards_XXXX.me201007140905.jar包中的wizards.jar文件一模一样,myecipse引用了那个单独的jar包文件,而com.genuitec.eclipse.wizards_XXXX.me201007140905.jar包中的文件没有使用上。因此将com.genuitec.eclipse.wizards_XXXX.me201007140905.jar包中的wizards.jar文件替换单独的wizards.jar文件后,就可以搞定了。