`
Luob.
  • 浏览: 1592142 次
  • 来自: 上海
社区版块
存档分类
最新评论

FreeMarker简单应用

阅读更多
1.在javaweb项目中导入freemarker-2.3.19.jar
2.在webrooe先建立 templates 文件夹
3.建立模版文件freemarker.ftl
<html>
	<head>
	</head>
<body>
	<center>
		<div>
			<font color=${color}>${words}</font>
		</div>
	</center>
</body>
</html>


4.建立 FreeMarkerServlet 加载 模版
package com.sh.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;

public class FreeMarkerServlet extends HttpServlet{

	private Configuration cfg;

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		Map map=new HashMap();
		map.put("color", "red");
		map.put("words", "一个简单的FreeMarker程序!");
		Template template=cfg.getTemplate("freemarker.ftl");
		response.setContentType("text/html;charset=gb2312");
		Writer out=response.getWriter();
		try {
			template.process(map, out);
		} catch (Exception e) {
			throw new ServletException("处理模版出错!",e);
		}
	}

	@Override
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		cfg=new Configuration();
		cfg.setServletContextForTemplateLoading(getServletContext(), "templates");
	}	
}


5.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://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
  	<servlet-name>FreeMarkerServlet</servlet-name>
  	<servlet-class>com.sh.servlet.FreeMarkerServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>FreeMarkerServlet</servlet-name>
  	<url-pattern>/serlvet/FreeMarkerServlet</url-pattern>
  </servlet-mapping>
  
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


6.访问localhost:8080/project/serlvet/FreeMarkerServlet


----------指令学习-----------------------

7.if/else   指令
  if/else hi分支控制指令,语法格式为
<#if condition1>
    <#else if condition2><#elseif condition3><#else> ...
</#if>

例如
<#assign socre=61>
<#if (score>90)> 优秀
   <#elseif (score>80)> 良好
   <#elseif (score>60)> 及格
   <#else> 补考
</#if>

8 list break 指令
  list指令是迭代输出指令,而break 是跳出迭代,语法格式
   <#list list as item> ...</#list>
  list:制定一个集合对象,也可以是返回集合对象的一个表达式.
  item:表示当前被迭代输出的集合元素, 对于呗迭代输出的集合元素,还有两个变量
  item_index:当前输出元素的 所引值
  item_has_next:当前输出元素下面的是否还存在元素,她是一个 boolean类型的变量.

  例如:
  <#assign booklist=["红楼梦","三国演义","水浒传","西游记","三字经"]>
  <#list booklist as book>
      ${book_index+1}.${book}<br/>
      <#if book="西游记">
           四大名著已经列出完毕!<br/>
      </#if>
      <#if !(book_has_next)>
            所有图书已经列出完毕!<br/>
      </#if>
   <#list>
 
  如果在list 指令中使用break ,修改如下
   <#if book="西游记">
         四大名著已经列出完毕!<br/> 
        <#break>
   </#if>

9:assign指令用来创建或者  替换 一个顶层变量,其语法格式如下:
  <#assign name=value [in namespace]>
  name:指定创建的变量名
  value 指定变量值
  namespace:制定本变量存储的命名空间.

10. include 指定
   include 指定是一个包含指定,其语法格式如下:
   <#include file [options]>
   其中
   file:指定被包含的文件
   options;指定包含是的选项, 选项包括 encoding 和parse  其中encoding用来指定包含其他的页面时艘i用的字符集编码:parse 用来指定被包含文件是否为 FTL 文件来解析,其默认值为true (ftl:表示 freemarker 的模版文件)
   例如:
  <#include "/bottom.html">
1
0
分享到:
评论

相关推荐

    freemarker简单例子

    在这个“freemarker简单例子”中,我们将深入理解Freemarker的基本概念、配置以及如何在实际项目中使用。 1. **Freemarker基本概念** - **模板(Template)**:Freemarker的核心是模板,它定义了最终输出的静态...

    FreeMarker 简单的入门小小小小例子

    俗话说万事开头难,这句话对于我们程序员来说非常的适用,刚接触一门新的东西,...FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

    spring mvc freemarker 简单例子

    通过这个简单的例子,我们可以看到Spring MVC和Freemarker的集成过程。在实际开发中,这只是一个基础的配置,可以根据项目需求进行更复杂的模板设计和数据绑定。例如,可以利用Freemarker的条件判断、循环结构、函数...

    freemarker 简单项目示例

    Freemarker是一个强大的Java模板引擎,常用于动态生成HTML或其他类型的文本文件,广泛应用于Web开发领域,特别是MVC模式中的视图部分。本项目示例将深入探讨如何使用Freemarker来生成静态HTML页面,帮助你理解其基本...

    freemarker把jsp静态化简单应用

    本教程将介绍如何在Java Web项目中利用FreeMarker进行JSP页面的静态化,适合初学者入门学习。 1. **FreeMarker基本概念** FreeMarker是一个基于模板的语言,它与编程语言不同,不包含任何控制结构或函数调用。它的...

    freemarker简单示例

     FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件  FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境  FreeMarker更适合作为Model2框架(如Struts...

    FreeMarker应用实例和PPT

    本实例将深入探讨FreeMarker在Struts2中的应用,以及如何通过PPT形式进行演示。 1. **FreeMarker的基本概念** - **模板语言**:FreeMarker使用简单的文本文件作为模板,其中包含动态和静态内容的混合,动态内容由...

    Freemarker 自定义标签 简单案例

    在这个"Freemarker自定义标签简单案例"中,我们将深入探讨如何利用Freemarker进行模板设计,并结合自定义标签来增强模板的功能。 首先,让我们理解Freemarker的基础知识。Freemarker是一个与语言无关的模板引擎,它...

    freemarker 自定义freeMarker标签

    FreeMarker 是一个强大的模板引擎,常用于Java应用中生成HTML、XML等动态内容。它允许开发者使用简单的模板语言(TL)来分离业务逻辑和视图层。本篇将深入探讨如何自定义FreeMarker标签,以扩展其功能并适应特定项目...

    Freemarker2.3.16_带简单教程

    此资源包“Freemarker2.3.16_带简单教程”提供了Freemarker 2.3.16版本的相关学习材料,包括官方文档和教程,帮助初学者快速上手。 《freemarker中文手册文档.doc》是Freemarker的中文参考手册,详细介绍了...

    freemarker 应用,环境搭建,使用

    通过以上步骤,你已经成功地在Java应用中集成了FreeMarker并创建了一个简单的动态页面。随着对FreeMarker的深入学习,你会发现它能实现更复杂的逻辑和布局,成为强大的视图层解决方案。在实际开发中,FreeMarker常与...

    Freemarker中List的应用

    Freemarker是一个强大的模板引擎,常用于Java应用中的视图层渲染,比如Spring MVC框架。它允许开发者使用简单的模板语言来动态生成HTML或其他格式的文本。在Freemarker中,`List`是一种非常常用的数据结构,它允许...

    freemarker示例工程

    在这个"freemarker示例工程"中,它与Struts2框架结合使用,构建了一个完整的MVC(Model-View-Controller)架构的应用。Struts2是Apache软件基金会的开源项目,是一个基于MVC设计模式的Java web框架,它提供了对...

    Spring3.2.1MVC+Freemarker简单示例

    在本文中,我们将深入探讨如何使用Spring 3.2.1 MVC框架与Freemarker模板引擎结合,构建一个简单的Web应用程序。Spring MVC是Spring框架的一部分,它为开发RESTful Web服务提供了强大的支持,而Freemarker则是一个轻...

    基于spring boot 2集成hibernate及freemarker的简单实例

    在本文中,我们将深入探讨如何在Spring Boot 2框架中集成Hibernate ORM框架和FreeMarker模板引擎,以构建一个简单的Web应用程序。Spring Boot以其简洁的配置和开箱即用的特性,已经成为Java开发者首选的微服务开发...

    freemarker的优缺点及简单实例

    2. **易用性**:FreeMarker使用简单的语法,模板设计人员不需要掌握复杂的编程语言,只需要理解数据结构和模板语法,就能完成页面设计。 3. **高效性能**:由于FreeMarker是编译型模板引擎,模板在运行时会被编译成...

    velocity和freemarker的比较

    - **语法**:Velocity的语法相对简单,而FreeMarker的语法更加丰富,可以实现更多复杂的逻辑。 - **性能**:FreeMarker通常在处理大量数据时表现更好,因为它优化了模板解析和执行。 - **学习曲线**:Velocity的学习...

    springmvc+mybatis 和一个简单的freemarker代码生成工具

    在实际项目中,一个简单的代码生成工具可能会利用SpringMVC和MyBatis的组合,通过用户输入的表结构信息,自动生成对应的实体类、Mapper接口、Mapper XML文件以及FreeMarker模板。这样的工具可以极大地提高开发效率,...

    FreeMarker手册-Freemarker 2.3.18

    FreeMarker的模板语言是一种声明式的编程方式,它允许开发者通过简单的标记语法来控制输出。这些标记不包含执行逻辑,而是与数据模型结合以生成最终输出。例如,`&lt;#if&gt;`、`&lt;#foreach&gt;`用于条件判断和循环,`...

Global site tag (gtag.js) - Google Analytics