今天做了Struts2、Hibernate3、Spring2、FreeMarker的框架整合程序。
按照网上找的相关资料去做的程序报错了,因为是第一次用FreeMarker,所以没有经验,网上说只要把Struts2的核心jar包里的struts-tags.tld放在WEB-INF目录下,在*.ftl页面里做<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />这样的引用就可以,可我的程序却报了
exception:freemarker.template.TemplateModelException: Could not load taglib information,
root cause:java.lang.ClassNotFoundException: org.apache.struts2.views.jsp.ui.AutocompleterTag
这个异常,后来又看了看Struts2里的关于FreeMarker的API和在网上搜索的FreeMarker的相关资料,最后才跑通的,源代码引用如下:
*.ftl页面需要引用的源代码:
<#assign page=JspTaglibs["http://www.opensymphony.com/sitemesh/page"]>
<#assign s=JspTaglibs["/struts-tags"] />
<html>
<head>
<title>注册页面</title>
</head>
<body>
<@s.form method="post" name="inputform" action="register.action!register" >
<@s.textfield label="用户名" name="username"/>
<@s.password label="密码" name="password"/>
<@s.textfield label="出生日期" name="birthday"/>
<@s.submit value="注册" align="left" />
</@s.form>
</body>
</html>
但我的WEB程序第一访问页面仍然是jsp页面,因为FreeMarker只能用action跳转的方式才能被访问,因为jsp页面的访问速度比ftl页面的访问速度慢,所以我建议第一访问页面也用ftl,这时问题又出现了,如果我们像访问jsp页面那样直接访问ftl页面的话,页面会显示ftl语言的源代码,而不是我们要的效果,在struts2-core-2.0.0.jar的版本里有一个org.apache.struts2.views.freemarker.FreeMarkerServlet这个类,这个类在后期的新版本中被删掉了,要想使用这个类就需要我们自己从新把那个类打包到新版本中,在web.xml中还要做相应的配置代码,配置代码如下:
<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>org.apache.struts2.views.freemarker.FreemarkerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
分享到:
相关推荐
在struts2中使用freemarker模版.doc
1.html模板+model数据,通过freemarker进行渲染,便于维护和修改 2.渲染后的html流,可通过Flying Saucer组件生成pdf文件流,或者生成pdf后再转成jpg文件流
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。... FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 FreeMarker是免费的
FreeMarker的Web版Demo
Springboot项目中: 1. 使用Apache POI 3.9 自定义样式导出Excel文件...2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi
使用FreeMarker配合Servlet写了一个分页程序,使用环境是Java7和Tomcat7,Eclipse 4.2,程序比较简单,并且加了注释,应该算是清楚易懂吧,适合初学者(我本身也是初学者),有问题私信可以再和大家讨论。
FreeMarker中文讲解FreeMarker允许Java servlet保持图形...FreeMarker同样可以应用于非Web应用程序环境 FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 FreeMarker是免费的
springboot如何使用Freemarker模版引擎
NULL 博文链接:https://cdxs2.iteye.com/blog/1923067
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 ... FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 FreeMarker是免费的
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序...
Freemaker是一个”模板引擎”,也可以说是一个基于模板技术的生成文本输出的一个通用工具.它是一个JAVA的包,一个JAVA程序员可以使用的类库....注意,它是MVC框架的一个组件(如STRUTS),也可以在模板中使用JSP标签.
FreeMarker在Eclipse安装 1.将插件hudson.freemarker_ide_0.9.14文件夹放到eclipse下的plugins... FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 FreeMarker是免费的
FreeMarker中文文档.pdf FreeMarker入门必修
使用 Freemarker 模板引擎创建一个简单的 Spring 工程。
赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
java web+freemarker 导出word 单个字符串${name}, 列表<#list tail as item> ${item.id} ,附有源码,导出word的word模板 以及另存为的xml文件和 ftl模板,只需要改下里面的查询数据库即可
freemarker中文API手册
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的...FreeMarker同样可以应用于非Web应用程序环境,FreeMarker更适合作为Model2框架(如Struts)的视图组件,可以在模板中使用JSP标记库,FreeMarker是免费的。
使用FreeMarker实现到处word实例 。