项目需要就去看了下freemarker:
简单的写了个类
public class Atry extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException ,IOException {
HashMap ha=new HashMap();
ha.put("AM", "wjg");
Configuration cfg=new Configuration();
cfg.setClassForTemplateLoading(this.getClass(), "/");
StringWriter sw = new StringWriter();
// BufferedWriter sw = new BufferedWriter(stringWriter);
Template t= cfg.getTemplate("m.ftl");
try {
t.process(ha, sw);
} catch (TemplateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String s=sw.toString();
sw.flush();
sw.close();
PrintWriter pw=response.getWriter();
pw.print(s);
}
}
这里的cfg.setClassForTemplateLoading(this.getClass(), "/");
第一个参数是指这个类所在的servlet,后面一个参数是指ftl文件所在的目录,
这里如果第一个参数是这样的话,那么ftl应该部署在类所在的文件夹下,WEB-INF\classes,这个是我编译后类所在文件夹,当我将ftl文件放在这里的时候可以通过,其他的地方不能通过。
ftl文件
<html>
<head>
<title>My JSP 'MyJsp.jsp' starting page</title>
</head>
<body>
hehe ${AM}
</html>
分享到:
相关推荐
它允许开发者使用简单的模板语言(TL)来分离业务逻辑和视图层。本篇将深入探讨如何自定义FreeMarker标签,以扩展其功能并适应特定项目需求。 首先,理解FreeMarker的默认标签语法至关重要。FreeMarker使用${...}...
在这个"Freemarker自定义标签简单案例"中,我们将深入探讨如何利用Freemarker进行模板设计,并结合自定义标签来增强模板的功能。 首先,让我们理解Freemarker的基础知识。Freemarker是一个与语言无关的模板引擎,它...
通过这个简单的例子,我们可以看到Spring MVC和Freemarker的集成过程。在实际开发中,这只是一个基础的配置,可以根据项目需求进行更复杂的模板设计和数据绑定。例如,可以利用Freemarker的条件判断、循环结构、函数...
通过以上步骤,你可以了解如何使用Freemarker构建一个简单项目,生成静态HTML页面。实际应用中,可能还会涉及更多细节,如错误处理、模板缓存、模板继承等。不断探索和实践,你将更加熟练地掌握Freemarker这一强大...
下面将深入探讨FreeMarker的基本概念、工作原理以及如何创建一个简单的实例。 1. **基本概念** - **模板(Template)**: 模板是FreeMarker的核心,它是HTML或XML等静态文件,其中包含特定的FreeMarker指令和变量,...
FreeMarker的模板语言是一种声明式的编程方式,它允许开发者通过简单的标记语法来控制输出。这些标记不包含执行逻辑,而是与数据模型结合以生成最终输出。例如,`<#if>`、`<#foreach>`用于条件判断和循环,`...
在实际项目中,一个简单的代码生成工具可能会利用SpringMVC和MyBatis的组合,通过用户输入的表结构信息,自动生成对应的实体类、Mapper接口、Mapper XML文件以及FreeMarker模板。这样的工具可以极大地提高开发效率,...
1. **变量和表达式**:在FreeMarker模板中,`${}`内的内容是表达式,用于获取Java对象的属性或执行简单的运算。例如`${user.name}`将输出用户对象的name属性。 2. **指令**:FreeMarker提供了一系列的内置指令,如`...
此资源包“Freemarker2.3.16_带简单教程”提供了Freemarker 2.3.16版本的相关学习材料,包括官方文档和教程,帮助初学者快速上手。 《freemarker中文手册文档.doc》是Freemarker的中文参考手册,详细介绍了...
在这个“freemarker简单例子”中,我们将深入理解Freemarker的基本概念、配置以及如何在实际项目中使用。 1. **Freemarker基本概念** - **模板(Template)**:Freemarker的核心是模板,它定义了最终输出的静态...
- **Velocity**的数据绑定功能虽然不如FreeMarker强大,但在简单应用中已经足够。 8. **模板继承与包含**: - **FreeMarker**支持强大的模板继承和包含机制,能够更好地组织代码结构。 - **Velocity**在这方面也...
安装"freemarker编辑插件"的过程相对简单。首先,你需要下载该插件的压缩包,这个压缩包的文件名为"插件freemarker-ide-0.9.14"。下载完成后,解压文件,然后找到解压后的文件夹。接着,打开Eclipse,导航到“Help”...
- **Hello World**:一个简单的模板,展示如何输出字符串。 - **条件语句**:使用`<#if>`和`<#else>`展示条件分支。 - **循环**:`<#list>`用于遍历数组、列表或集合。 - **变量赋值**:`<#assign>`用于创建和修改...
1. **模板语言**:Freemarker使用简单的文本模板语言,其中包含指令和表达式。例如,`<#if>`、`<#foreach>`用于控制流,`${}`用于输出变量。 2. **数据模型**:Freemarker与Java对象交互,通过数据模型将Java对象...
当然,这只是一个简单的比较,实际选择哪种模板技术还需要根据项目的具体需求和开发者的个人喜好。 在选择模板技术时,我们需要考虑到项目的需求和性能要求,然后根据实际情况选择合适的模板技术。模板技术可以提高...
在处理Freemarker模板引擎时,中文乱码问题是...5. 最后,尝试统一项目编码为UTF-8,这是最简单且最有效的解决方案。 通过上述方法,可以有效地解决Freemarker中出现的中文乱码问题,提高Web应用的稳定性和用户体验。
- **语法**:Velocity的语法相对简单,而FreeMarker的语法更加丰富,可以实现更多复杂的逻辑。 - **性能**:FreeMarker通常在处理大量数据时表现更好,因为它优化了模板解析和执行。 - **学习曲线**:Velocity的学习...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,比如Spring MVC框架就广泛使用了Freemarker作为其模板技术。本教程将基于提供的"freemarker编辑器"来详细介绍如何配置和使用Freemarker,以及它在...
FreeMarker 的模板是用 FreeMarker Template Language (FTL) 编写的,这是一种简单且专门化的语言。模板通常用来决定如何呈现数据,而在模板外部,则关注要展示哪些数据。例如,可以利用 SQL 查询和业务逻辑准备数据...
它采用简单的文本模板语言,使得非程序员也能轻易地编辑模板,与Java对象数据结合,生成所需的输出。 在Java开发中,Freemarker提供了一种灵活的方式去生成各种格式的文档。例如: 1. **生成Excel**:Freemarker...