`
一眼泉水
  • 浏览: 515717 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在WEB程序中使用FreeMarker心得

阅读更多
今天做了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模版

    在struts2中使用freemarker模版.doc

    Java中使用 FreeMarker 生成pdf盖章合同文件

    1.html模板+model数据,通过freemarker进行渲染,便于维护和修改 2.渲染后的html流,可通过Flying Saucer组件生成pdf文件流,或者生成pdf后再转成jpg文件流

    freemarker简单示例

    FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。... FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库  FreeMarker是免费的

    FreeMarker的Web版Demo

    FreeMarker的Web版Demo

    springboot中使用freemarker动态生成word文档,以及使用POI导出自定义格式Excel

    Springboot项目中: 1. 使用Apache POI 3.9 自定义样式导出Excel文件...2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi

    Servlet分页程序(使用FreeMarker)

    使用FreeMarker配合Servlet写了一个分页程序,使用环境是Java7和Tomcat7,Eclipse 4.2,程序比较简单,并且加了注释,应该算是清楚易懂吧,适合初学者(我本身也是初学者),有问题私信可以再和大家讨论。

    freemarker中文手册

    FreeMarker中文讲解FreeMarker允许Java servlet保持图形...FreeMarker同样可以应用于非Web应用程序环境 FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 FreeMarker是免费的 

    springboot如何使用Freemarker模版引擎

    springboot如何使用Freemarker模版引擎

    struts2中使用freeMarker

    NULL 博文链接:https://cdxs2.iteye.com/blog/1923067

    freemarker帮助文档001

    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 ... FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 FreeMarker是免费的

    使用freemarker把jsp生成html页面

    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写  FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序  虽然FreeMarker具有一些编程的能力,但通常由Java程序...

    FreeMarker中文文档

    Freemaker是一个”模板引擎”,也可以说是一个基于模板技术的生成文本输出的一个通用工具.它是一个JAVA的包,一个JAVA程序员可以使用的类库....注意,它是MVC框架的一个组件(如STRUTS),也可以在模板中使用JSP标签.

    hudson.freemarker_ide_0.9.14

    FreeMarker在Eclipse安装 1.将插件hudson.freemarker_ide_0.9.14文件夹放到eclipse下的plugins... FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库  FreeMarker是免费的

    FreeMarker中文文档.pdf下载

    FreeMarker中文文档.pdf FreeMarker入门必修

    FreeMarker 使用

    使用 Freemarker 模板引擎创建一个简单的 Spring 工程。

    freemarker-2.3.30-API文档-中文版.zip

    赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    java web+freemarker导出word

    java web+freemarker 导出word 单个字符串${name}, 列表&lt;#list tail as item&gt; ${item.id} ,附有源码,导出word的word模板 以及另存为的xml文件和 ftl模板,只需要改下里面的查询数据库即可

    freemarker中文API手册

    freemarker中文API手册

    FreeMarker

    FreeMarker允许Java servlet保持图形设计同应用程序逻辑的...FreeMarker同样可以应用于非Web应用程序环境,FreeMarker更适合作为Model2框架(如Struts)的视图组件,可以在模板中使用JSP标记库,FreeMarker是免费的。

    使用FreeMarker实现导出word实例

    使用FreeMarker实现到处word实例 。

Global site tag (gtag.js) - Google Analytics