`

freemarker(2)给模板传递参数的测试

    博客分类:
  • JSP
阅读更多
转载:http://tech.ddvip.com

package freemarker;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public classTest2{
 private Configurationcfg;
 public ConfigurationgetCfg(){
  return cfg;
 }
 public void init()throws Exception{
  cfg=new Configuration();
  cfg.setDirectoryForTemplateLoading(newFile("bin/freemaker"));
 }
 public static void main(String[]args)throws Exception{
  Test2 obj=new Test2();
  obj.init();
  Map root=new HashMap();
  root.put("user","java2000.net");
  Map latestProduct=new HashMap();
  latestProduct.put("url","http://www.java2000.net");
  latestProduct.put("name","Java世纪网");
  root.put("latestProduct",latestProduct);
  Templatet=obj.getCfg().getTemplate("Test2.ftl");
  Writer out=new OutputStreamWriter(new FileOutputStream("Test2.html"),"GBK");
  t.process(root,out);
  System.out.println("Successfull................");
 }
}


模板
<html>
<head>
 <title>Welcome!</title>
</head>
<body>
 <h1>Welcome${user}!</h1>
 <p>Ourlatestproduct:
 <a href="${latestProduct.url}">${latestProduct.name}</a>!
</body>
</html>

运行结果
<html>
<head>
 <title>Welcome!</title>
</head>
<body>
 <h1>Welcomejava2000.net!</h1>
 <p>Ourlatestproduct:
 <a href="http://www.java2000.net">Java世纪网</a>!
</body>
</html>


分析:

  数据结构为

(root)
|
+- user = "java2000.net"
|
+- latestProduct
|
+- url = "http://www.java2000.net"
|
+- name = "Java世纪网"

  我们使用嵌套的Map给其传递参数

分享到:
评论

相关推荐

    freemarker

    此外,`test`包下的测试类展示了一种使用Freemarker的方式,通过构建数据模型并将其传递给模板,实现了动态内容的生成。 综上所述,Freemarker是一种强大的模板引擎,它能够高效地处理复杂的数据结构,并生成各种...

    freemarker_servlet_demo

    接着,Servlet会加载一个名为`index.ftl`的Freemarker模板,将Map对象传递给模板。模板中可能包含一些条件判断和循环,用来动态生成HTML表格或其他展示数据的元素。 6. **部署与测试** 将项目打包成WAR文件,部署...

    FreeMarker

    FreeMarker 支持自定义命令,通过 `macro` 可以定义新的模板命令,并且可以向这些命令传递参数。这有助于减少重复代码,并增强模板的复用性。 ### 总结 FreeMarker 是一款功能强大的模板引擎,能够帮助开发者高效...

    springboot如何使用Freemarker模版引擎

    - 在上面的示例中,`index`方法返回的字符串"index"对应的是Freemarker模板文件的名字,`Model`参数用于向模板传递数据。 5. **Freemarker语法** - Freemarker模板文件(如`index.ftl`)中,可以使用`&lt;#...&gt;`指令...

    freemarker web工程实例

    开发者可以在后端处理业务逻辑,然后将数据模型传递给Freemarker模板,模板根据这些数据生成最终的HTML响应。 在"freemarker web工程实例"中,我们假设已经搭建了一个基本的Java Web环境,包括Tomcat服务器和Maven...

    Freemarker API 中英文合集 chm格式

    - **Template类**:代表一个Freemarker模板,是解析和执行模板的主要接口。 - **Configuration类**:管理Freemarker的全局设置,如模板加载路径,缓存策略等。 - **Environment类**:在模板执行期间,保存当前上...

    freemarker与springmvc整合的例子

    现在,当访问`/hello`路由并传递参数`name`时,SpringMVC会调用`hello`方法,将数据填充到`hello.ftl`模板中,生成HTML响应并返回给客户端。 **5. 高级特性** FreeMarker支持许多高级特性,例如条件语句(`&lt;#if&gt;`...

    spring boot + mybaits +freemarker +maven 架构来袭 注解版

    FreeMarker模板语言简洁且灵活,可以轻松地控制布局和样式,同时减少了前端开发的工作量。 **Maven** Maven是Java项目管理工具,负责项目的构建、依赖管理和项目信息管理。它通过POM(Project Object Model)文件来...

    Spring,Spring Data Jpa,freemarker,bootstrap实现的分页源代码

    7. **Controller处理请求**:接收前端请求,如页码、每页数量等,调用Service层获取数据,然后将结果传递给FreeMarker模板进行渲染。 通过以上步骤,我们可以构建出一个功能完备且界面美观的分页应用。这个项目中的...

    2freemarker基本数据交互1

    FreeMarker模板文件(FTL)是纯文本文件,扩展名为`.ftl`,用于定义页面布局和逻辑。在后端,我们可以通过`ModelMap`或`HttpServletRequest`对象将数据传递到前端的FTL文件。例如,后端的一个简单方法`getValue`...

    springmvc+freemarker

    2. **模型数据传递**:在SpringMVC的控制器方法中,通过`Model`或`ModelAndView`对象将数据添加到模型中,这些数据将在Freemarker模板中可用。 3. **模板设计**:创建Freemarker模板文件(通常以`.ftl`为扩展名),...

    围绕分页的练习(2)(ssh+freemarker)

    在这个“围绕分页的练习(2)(ssh+freemarker)”中,我们将探讨如何在SSH(Struts2、Spring、Hibernate)框架下结合FreeMarker模板引擎实现分页功能。SSH是一个流行的企业级Java开发框架,它提供了模型-视图-控制器...

    围绕分页的练习(1)(ssh+freemarker)

    2. **Struts框架**:作为MVC(模型-视图-控制器)架构的一部分,Struts负责处理HTTP请求,调度业务逻辑,并将结果传递给视图层。在分页时,Struts可以接收分页参数,如当前页数和每页显示条数,然后调用相应的业务...

    springMVC+ibatis+FreeMarker 连接 mycat 示例

    在Web应用中,FreeMarker接收从后台传递的数据,结合模板文件生成用户友好的页面,实现了视图层的分离,提高了代码的可维护性。 Mycat作为数据库中间件,它的工作原理是将一个大数据库切分为多个小数据库,通过负载...

    java freemark发送模板邮件

    这些参数可以通过`Properties`对象传递给`Session`实例。 5. **创建邮件会话**: 使用`Session.getInstance()`方法创建一个邮件会话,可以设置SMTP服务器的属性和认证信息。 6. **构建邮件消息**: 使用`...

    freemarkerTest

    在这个测试项目中,Servlet将会是连接数据库、处理用户请求并传递数据到Freemarker模板的关键组件。 Freemarker模板语言(FTL)是一种简单但功能强大的文本模板语言,设计用来生成任何类型的文本输出,尤其是HTML。...

    springboot 整合 freemarker代码实例

    在控制器中,我们可以创建模型数据并将其传递给FreeMarker模板。FreeMarker将根据提供的数据渲染出最终的HTML页面,然后返回给客户端。 总的来说,Spring Boot与FreeMarker的整合使得开发动态网页变得更加简单,...

    springboot的实现word文档下载.zip

    在`downloadWord()`方法中,`Map, Object&gt; model`参数用于传递数据到Freemarker模板。你可以根据实际需求填充这个Map,如从数据库获取数据。 7. **实际运行与测试** 在浏览器中访问`/download`接口,浏览器会提示...

    ssh模板项目

    - 视图资源,如JSP、HTML或Freemarker模板,位于Web应用的根目录或指定的视图解析路径。 5. **配置文件**: - struts.xml定义了Action及其关联的结果页面,以及可能的拦截器配置。 - spring-context.xml配置了...

    SpringMVC+ibatis模板项目

    - **View**:视图负责将模型数据呈现给用户,可以是 JSP、FreeMarker 或其他模板引擎。 - **HandlerMapping**:负责将请求映射到对应的控制器方法。 - **HandlerAdapter**:适配器模式,使得框架可以调用不同类型...

Global site tag (gtag.js) - Google Analytics