时间:2021-05-19
初步学习freemarker ,先做一个简单的HelloWord程序!
新建一个WEB工程,下载(我使用的是freemarker-2.3.20)freemarker并导入freemarker.jar,在WEB-INF下新建文件夹templates用于存放模版文件
在templates下新建test.ftl,这是示例模版文件。内容就是HTML内容,里面带有一个标记符,用于将来进行变量替换,内容如下:
<html> <head> <title>freemarker测试</title> </head> <body> <h1>${message},${name}</h1> </body> </html>新建一个Servlet,用于请求设置变量,并处理模版的输出:
package com.test.servlet; import java.io.IOException; import java.io.Writer; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; @SuppressWarnings("serial") public class HelloFreeMarkerServlet extends HttpServlet { // 负责管理FreeMarker模板的Configuration实例 private Configuration cfg = null; public void init() throws ServletException { // 创建一个FreeMarker实例 cfg = new Configuration(); // 指定FreeMarker模板文件的位置 cfg.setServletContextForTemplateLoading(getServletContext(), "/WEB-INF/templates"); } @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 建立数据模型 Map root = new HashMap(); root.put("message", "hello world"); root.put("name", "java小强"); // 获取模板文件 Template t = cfg.getTemplate("test.ftl"); // 使用模板文件的Charset作为本页面的charset // 使用text/html MIME-type response.setContentType("text/html; charset=" + t.getEncoding()); Writer out = response.getWriter(); // 合并数据模型和模板,并将结果输出到out中 try { t.process(root, out); // 往模板里写数据 } catch (TemplateException e) { e.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void destroy() { super.destroy(); } }注意要在你的web.xml中配置该Servlet:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://e-file-list> </web-app>为了方便测试,访问工程直接跳转到Servlet,对主页index.jsp做一个简单修改:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><html> <body> <% String mypath = "hello"; response.sendRedirect(basePath + mypath); %> </body></html>部署工程到Tomcat,启动并访问http://localhost:8080/f ,这里我建立的工程名称就是 f 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
现如今谈起初学者开淘宝店新手入门基本?开淘宝店必须学习什么专业知识?最先、假如想开淘宝店在你决策新手入门以前,也有好多个难题要思索,由于搞好淘宝网并并不是一朝一
文中考试大纲:怎样学电商运营?新手入门该学习什么!目前在互联网时代,有关谈起要想电商创业的小伙伴们,在刚新手入门电商运营以后,毫无疑问想掌握怎样科学研究的评定自
淘客怎么做推广?许多初学者刚新手入门的淘客还不清楚,我发送给大伙儿共享下淘客推广基础教程(文图),有想要做淘客推广的看这里。许多盆友对淘客的新手入门或是一知半解
许多盆友对淘客的新手入门或是一知半解,今日由于要梳理小白晋升实例教程,故专业为沒有触碰过淘客及阿里巴巴妈妈的朋友一个学习入门的机遇,特开此帖! &ldquo
Freemarker入门示例FreeMarker整合Struts2示例SiteMesh入门示例那么如何将Freemarker与SiteMesh结合起来使用,这在