首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

FreeMarker在struts2.0,JAVA,web中的运用实例 [转]

2012-11-25 
FreeMarker在struts2.0,JAVA,web中的应用实例 [转]?FreeMarker概述FreeMarker是一个模板引擎,一个基于模板

FreeMarker在struts2.0,JAVA,web中的应用实例 [转]

?

FreeMarker概述
  • FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写
  • Template + data model = output
  • FreeMarker在struts2.0,JAVA,web中的运用实例 [转]

    ?

    ?

    FreeMarker 是一个非常优秀的模板引擎,这个模板引擎可用于任何场景,FreeMarker负责将数据模型中的数据合并到模板中,从而生成标准输出.界面开发人员只需要关于界面(也就是模板文件)的开发,而业务逻辑开发者只需要负责将需要显示的数据填入数据模型-----FreeMarker负责合并数据模型和模板, 从而生成标准输出.FreeMarker特别适应于MVC模式的Web应用,虽然FreeMarker具有一些编程能力,但这种编程能力非常有限,无法实现业务逻辑, 只能提供一些数据格式的转换功能.因此,通常由Java程序准备要显示的数据,由FreeMarker模板引擎来生成页面,而FreeMarker模板则提供页面布局支持.(好处:严格实现MVC分离)此外,FreeMarker也是与Web容器无关的,也就是FreeMarker并不一定需要运行在Web容器中:FreeMarker同样可以应用于非Web应用程序环境.而且,FreeMarker并不是只能生成HTML页面,它也可以生成各种文本,如XML,RTF,Java源代码等.Struts2默认采用FreeMarker作为其模板文件,而Struts2所有的主题模板文件都是采用FreeMarker编写的,eclipse中的JSP,Java等模板文件也是采用FreeMarker技术.1.在struts2中使用freemarker普通的struts2配置文件一般是这么配置的:?(2)
    在ACTION中,进行设置:
    ?(3)
    设置模板文件:jsearch.ftl:
    ?(4)
    如果要使用STRUTS2.0的标签,如上面.就要添加STRUTS2.0的标签库:
    web.xml添加:
    ???
    ?上面的代码创建了一个Map实例,这个Map将作为模板文件的数据模型,我们要使用FreeMarker必须导入freemarker.jar文件,FreeMarker的官网是http://freemarker.sourceforge.net/,虽然FreeMarker可以在Java程序中使用,但大部分时候还是用来生成HTML页面.3,在Web应用中使用FreeMarker在Web应用中使用FreeMarker跟在Java程序中使用并没有太大的区别.下面是是一个在Web中使用的例子,用来生成HTML页面的模板文件内容如下:
    ?可以看到这个Servlet类的代码与普通的Java程序中使用FreeMarker大致一样,区别有两个:1,设置FreeMarker加载模板的方法不一样,在Servlet中设置加载的方法是setServletContextForTemplateLoading,第一个参数是本web应用的 ServletContext,第二个参数是模板文件的路径.;2,结果必须输出到HttpServletResponse中,才能被浏览器加载.
    配置Servlet的web.xml文件中的代码如下:
    <html><br><head><br><title>Welcome!</title><br></head><br><body><br><#-- 注释部分 --><br><#-- 下面使用插值 --><h1>Welcome ${user} !</h1><br><p>We have these animals:<br><u1><br><#-- 使用FTL指令 --><#list animals as being><br>   <li>${being.name} for ${being.price} Euros<br><#list><br><u1><br></body><br></html>
    ?

  • 热点排行