初试FreeMarker模板的一些问题
一:freemarker编辑器的安装
freeMarker模板IDE作为MyEclipse的插件用来编辑ftl文件,具有语法高亮的作用,安装的方式一是采用MyEclipse的help选项下的softWare update,指定url地址,来自动完成插件的下载和安装,安装后会提示重启,在测试的过程中myEclips6.6中提示报错,大致意思是说连接问题,但在eclipse在线安装过程中未出现任何状况,所以采用手动安装的方式,
?
二:freemarker-jar包的使用
hudson.freemarker_ide_0.9.14下修改配置以及导入指定的freemarkerjar包
,因为freemarker-ide下的第三方jar版本过低,这时需要下载新的版本,覆盖原先的jar,在freemar-ide ----C:\Users\Administrator\Desktop\freemarker-ide-0.9.14\plugins\hudson.freemarker_ide_0.9.14\META-INF\MANIFEST.MF文件进行修改。
=========================================================
MANIFEST.MF
views\freemarker下即是struts2对freemarker支持的源文件,但strut2.0版本的还有个FreemarkerServlet.java文件,见附件。但是在我使用的时候并没有达到页面显示的内容,也许前面的问题和这个问题是环环相扣的。
3,ide对<@s.textfield>标签的提示并没有表现出来,也只有${}这样的标识也予以提示.
?
四:加载模板文件(templates)的几种方式
1,通过setClassForTemplateLoading()方式,参数一,指定当前类,参数二:ftl文件所在文件。前提是当前类是ftl所在目录的父目录。
2.通过configuration.setServletContextForTemplateLoading(getServletContext(),
"\\template"),其中第一参数是应用上下文,第二个参数是相对于classpath的ftl所在的目录。
?
3.通过configuration.setDirectoryForTemplateLoading(new File("templates")),newFile()文件与src是同级目录。
五:sturt2和freemaker
因为以上问题,所以在示例中并没有采用调用struts2标签的方式来进行页面类似输入框的显示,只执行简单的struts2和freemaker数据交互的过程,示例如下。
login.ftl
地址栏输入:http://localhost:8080/freeMark/free/LoginAction_Login.action,显示页面如下
?


