freemarker在servlet中的使用
来源:互联网 发布:php实现uv pv ip统计 编辑:程序博客网 时间:2024/06/06 21:39
1、在web.xml引入FreeMarker提供的Servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>freemarker_web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
<!-- 模板的查找路径 从上下文根路径查找 模板ftl -->
<init-param>
<param-name>TemplatePath</param-name>
<param-value>/</param-value>
</init-param>
<!-- 是否不需要缓存 -->
<init-param>
<param-name>NoCache</param-name>
<param-value>true</param-value>
</init-param>
<!-- 最终显示的是html -->
<init-param>
<param-name>ContentType</param-name>
<param-value>text/html;UTF-8</param-value>
</init-param>
<!-- FreeMarker settings: -->
<init-param>
<param-name>template_update_delay</param-name>
<param-value>0</param-value> <!-- 0 is for development only! Use higher value otherwise. -->
</init-param>
<!-- 默认的字符集 -->
<init-param>
<param-name>default_encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!-- 数字的格式 -->
<init-param>
<param-name>number_format</param-name>
<!-- 保留的小数位 -->
<param-value>0.##</param-value>
</init-param>
<!-- 自动实例化servlet容器 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
</web-app>
2、新建test.ftl模板文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr"> <head> <title>test!</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head> <body> <div> 直接显示字符串<br /> String:${strValue}<br/> <hr/> </div> <div> 显示日期 date:${myDate?date}<br/> <hr/> 显示时间 time:${myDate?time}<br/> <hr/> 显示时间戳 datetime:${myDate?datetime}<br/> <hr/> </div> <div> 访问对象数组 ObjectArray: ${objectArray[0]},${objectArray[1]},${objectArray[2]} <br /> <hr/> </div> <div> 遍历Set中的元素 SetData:<br /> <#list setData as value> ${value} </#list> <hr/> </div> <div> 遍历List中的元素 strList:<br/> <#list strList as strValue > <#if strValue_index == 0> ${strValue} is first element <#elseif !strValue_has_next> ${strValue} is last element <#else> ${strValue} </#if> <br /> </#list> <hr/> </div> <div> 获取map中的值 <br/> map: key1=${map.key1},key2=${map.key2},key3=${map.key3} <hr/> </div> <#include "foot.html"> </body> </html>
3、编写Servlet
public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public TestServlet() { // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String strValue = "this is String"; Date myDate = new Date(); Object[] objectArray = new Object[] { 1, "str", 1.2 }; Set<Object> setData = new HashSet<Object>(); setData.add("dataValue1"); setData.add("dataValue2"); setData.add("dataValue3"); List<String> strList = new ArrayList<String>(); strList.add("字符串1"); strList.add("字符串2"); strList.add("字符串3"); Map<String, Object> map = new HashMap<String, Object>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); request.setAttribute("strValue", strValue); request.setAttribute("objectArray", objectArray); request.setAttribute("strList", strList); request.setAttribute("map", map); request.setAttribute("myDate", myDate); request.setAttribute("setData", setData); request.getRequestDispatcher("/WEB-INF/ftl/test.ftl").forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}
- freemarker在servlet中的使用
- 6、在servlet中使用FreeMarker
- (六)在servlet中使用FreeMarker
- 【FreeMarker】【程序开发】在Servlet中使用FreeMarker
- 在servlet处理freemarker
- 关于Freemarker在struts2中的使用
- Freemarker在web项目中的使用
- log4j在servlet中的使用
- Servlet中使用Freemarker案例
- struts2中s:select标签在freemarker中的使用
- 使用Servlet在提交过程中的注意事项
- freemarker 在FreeMarker中使用JSP标签
- html调用servlet(JDBC在Servlet中的使用)
- Hashmap在freemarker中的应用
- FreeMarker在web中的例子
- freemarker在dreamweaver 中的优化
- Java使用servlet+freemarker渲染html视图
- 在struts2中使用freemarker
- android 8种对话框(Dialog)使用方法汇总
- BZOJ1854: [Scoi2010]游戏
- 日历
- python中NumPy的常见用法
- 【Linux】Mysql初始化root密码和允许远程访问
- freemarker在servlet中的使用
- You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
- 最长递增子序列
- C++ 控制台打印无输出 无法查找或打开PDB文件
- Spring集成redis缓存
- 【1】coreML入门之结合ARKit场景展示
- Hdu-6183 Color it(cdq分治)
- 关于C#中readonly的变量赋值问题。
- Java