eclipse Freemarker插件
来源:互联网 发布:12月份php好找工作吗 编辑:程序博客网 时间:2024/05/16 04:09
原文地址:http://my249645546.iteye.com/blog/1856141
关于Freemarker,功能很强大,但好用的eclipse插件却非常少。曾经用Jboss的那个插件,居然对Freemarker的部分标签不兼容。比如${user??}编辑器居然报错!后来发现了另一款插件:
hudson.freemarker_ide_0.9.14
这也是我目前正在使用的一款插件,个人感觉还不错,关键字高亮显示了,代码提示也有了。只是这玩意儿在代码提示上很不智能。比如:
1、在一个ftl文件中使用java对象时,不能提示出这个对象的属性。如${user.name}。输入user.后不会将name进行补全
2、在一个ftl文件中定义一个macro,另一个文件中使用这个macro时,鼠标移上去,按住ctrl键不能直接定位带该macro定义的地方。这导致,实际开发中要找某个macro的代码非常麻烦,还得动用eclipse的搜索功能!
今天本来想对这个插件进行二次开发,查看其源代码时,居然发现其对上述功能是支持的,只是需要配置!
于是到网上找了一大圈,终于搞定了,现分享给大家。
在项目根目录新建一个.freemarker-ide.xml(注意文件名前面有一个".",并与.project在同一目录)。代码如下:
- <config>
- <context-values>
- <!-- 该配置可以使path对应的文件中,如果使用key对象时,会自动补全其对应的java属性(通配符无效) -->
- <resource path="src/main/webapp/WEB-INF/template/userList.ftl">
- <value key="loan" object-class="net.domain.UserDO"/>
- </resource>
- <!-- 其余resource配置…… -->
- </context-values>
- <macro-library>
- <!-- 该配置可以使namespace命名空间下的所有macro、function自动补全 -->
- <entry namespace="component" path="src/main/webapp/WEB-INF/template/macro/component/component.ftl" project="web2.0" type="file"/>
- <!-- 其余macro-library配置…… -->
- </macro-library>
- </config>
现在,在userList.ftl文件中,我们只需要输入${user.}就会自动弹出其java类中定义的属性了。
再将原来导入componet.ftl的命令
- <#include "/macro/component/component.ftl">
改为:
- <#import "/macro/component/component.ftl" as component>
这样,我们就为component中的macro定义了一个命名空间 component(注意命名空间的名字要跟配置中的一样)。现在我们使用component中的macro,只需要输入"<@component."就会自动弹出component.ftl文件中定义的macro、function。而且将鼠标移上去,点击可以直接跳到定义的地方!
注意:如果 你在.freemarker-ide.xml中配置了你正在编辑的ftl文件,需要将文件关闭后,重新打开,编辑器才能读取到配置信息,代码提示 才能生效!
- Eclipse FreeMarker插件
- eclipse安装freemarker插件
- Eclipse安装Freemarker插件
- eclipse安装freemarker插件
- FreeMarker IDE eclipse 插件
- eclipse集成freemarker插件
- freemarker编辑器eclipse插件
- eclipse安装freemarker插件
- Eclipse安装Freemarker插件
- Freemarker eclipse 插件配置
- eclipse freemarker 插件 地址
- eclipse安装freemarker插件
- eclipse Freemarker插件
- Eclipse添加freemarker插件
- eclipse安装freemarker插件
- Eclipse安装Freemarker插件
- Eclipse安装Freemarker插件
- freemarker编辑器eclipse插件
- 如何锁定Excel中的部分单元格
- Lua基础学习开篇——类型和运算符
- 使用Memcached、Spring AOP构建数据库前端缓存框架
- SDUT14级队员训练1 G - DNA Consensus String
- 【cocos2dx网络游戏】搭建CS架构的基本通信框架(二)Sever(构建消息体)
- eclipse Freemarker插件
- 九度OJ;题目1147:Jugs
- 在同声传译这件事上,Skype是如何击败99.9%的地球人的?
- 看了这个才发现jQuery源代码不是那么晦涩
- Lua基础学习二——表和函数
- sgu172:eXam(二分图染色)
- 队列
- java web中过滤器的配置
- IT从业者自我修炼之道