在Web应用中使用FreeMarker生成html页面
?
在Web应用中使用FreeMarker跟在Java程序中使用并没有太大的区别.下面是一个在Web中使用的例子,用来生成HTML页面的模板文件内容如下:
?
?
?
我们在Web应用中使用FreeMarker时,应该让Servlet来合并模板和数据,因此,Servlet负责创建Configuration实例,并负责合并模板和数据,下面是Servlet源代码:
?
?
?
?
?
?
?
?
?
?
?
可以看到这个Servlet类的代码与普通的Java程序中使用FreeMarker大致一样,区别有两个:1,设置FreeMarker加载模板的方法不一样,在Servlet中设置加载的方法是setServletContextForTemplateLoading,第一个参数是本web应用的ServletContext,第二个参数是模板文件的路径.;2,结果必须输出到HttpServletResponse中,才能被浏览器加载.
配置Servlet的web.xml文件中的代码如下:
<web-app>
<servlet>
?? <servlet-name>hello</servlet-name>
?? <servlet-class>ysen.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
?? <servlet-name>hello</servlet-name>
?? <url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
1 楼 arantam 2010-04-28 朋友,你这样只是把ftl填充数据后作为view返回给浏览器.请问,生成的html文件在哪里呢?