`
lan13217
  • 浏览: 496321 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

freemark宏添加数据

 
阅读更多
package org.xxx.app.web;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import freemarker.core.Environment;
import freemarker.template.ObjectWrapper;
import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;

public class FreemarkerGobleDataModels implements TemplateDirectiveModel {

	public void execute(Environment env, Map params, TemplateModel[] loopVars,
			TemplateDirectiveBody body) throws TemplateException, IOException {
		Map<String, Object> gobleMap = new HashMap<String, Object>();
		gobleMap.put("hello1", "hello 1");
		gobleMap.put("hello2", "hello 2");
		gobleMap.put("hello3", "hello 3");
		gobleMap.put("hello4", "hello 4");
		gobleMap.put("hello5", "hello 5");
		env.setVariable("gobleMap",
				ObjectWrapper.DEFAULT_WRAPPER.wrap(gobleMap));
		if (body != null) {
			body.render(env.getOut());
		}
	}

}


<bean id="freemarkerConfig"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<property name="freemarkerSettings" ref="freemarkerConfiguration" />
		<property name="templateLoaderPath">
			<value>/WEB-INF/ftl/</value>
		</property>
		<property name="freemarkerVariables">
			<map>
				<entry key="xml_escape" value-ref="fmXmlEscape" />
				<entry key="mygoble" value-ref="mygoble"/>
			</map>
		</property>
	</bean>
	<bean id="mygoble" class="org.xxx.app.web.FreemarkerGobleDataModels" />  
	<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />

<@mygoble /> 
${gobleMap.hello1}<br/>
${gobleMap.hello2}<br/>
${gobleMap.hello3}<br/>
${gobleMap.hello4}<br/>
${gobleMap.hello5}<br/>
分享到:
评论

相关推荐

    FreeMark Jar包 包括 中文 官方文档

    开发者可以将这些JAR文件添加到他们的Java项目中,以便在项目中使用FreeMark的功能。 FreeMark的关键知识点包括: 1. **模板语言**:FreeMark的模板语言是一种简单的标记语言,允许在模板中嵌入变量和控制结构。...

    实现FreeMark读取模板生成HTML

    在描述中提到的“实现FreeMark读取到json数据”,意味着你可能需要将JSON对象转换为FreeMarker的数据模型。这可以通过使用Jackson或Gson等库来实现。例如,如果你有一个JSON字符串: ```json { "name": "张三", ...

    Java使用freemark生成word

    FreeMarker支持更复杂的功能,如宏、指令、自定义标签等,这使得模板可以处理更复杂的逻辑。同时,Apache POI库提供了丰富的API,用于对Word文档进行更细致的控制,比如插入图片、设置样式等。 总结,使用Java和...

    freemark简单使用源码

    在Java项目中,你可以通过Maven或Gradle添加FreeMarker的依赖。配置完成后,你需要创建一个`freemarker.cfg.xml`配置文件,定义模板目录和其他设置。 2. **创建数据模型** 数据模型通常是一个Java的Map或者自定义...

    freemark笔记、语法、讲解大全

    - 在模板中添加错误处理逻辑,比如当变量未定义时输出默认值。 - 在 Java 代码中捕获并处理运行时异常。 通过以上介绍,我们可以看到 FreeMarker 提供了非常丰富的功能和灵活的语法,使得开发者能够高效地生成...

    freemark学习笔记

    例如,`注释内容 --&gt;`用于添加注释,`${var}`或`#{var}`用于在文本中插入变量的值。 **数据模型**: 数据模型是由程序员创建的,它向模板提供来自数据库、文件或程序动态生成的信息。数据模型包含以下几种主要数据...

    在java代码中引用freemark

    FreeMarker还支持宏、指令、模板继承和导入等功能,以实现更复杂的模板逻辑。 **9. 性能优化** 通过缓存模板、合理配置模板加载策略等手段,可以提高FreeMarker的性能。 综上所述,学习在Java中使用FreeMarker,你...

    Freemarker-2.3.16.jar

    - **宏**:类似于函数,可以复用模板片段。 - **注释**:用于在生成的输出中忽略特定部分。 - **内置函数**:如`date_format`、`list`等,提供对数据的处理能力。 2. **Freemarker与Java的集成** - **...

    基于Freemarker模板的代码生成器前台页面模板文件

    在设计时,可能会复用部分EditPage的模板代码,通过Freemarker的`&lt;#macro&gt;`宏定义和`&lt;@call&gt;`调用来实现代码复用。 4. **Detail.ftl**:详情页面模板,用于展示单个数据项的所有详细信息。通常包含大量读取性好的...

    freemarker命令简介

    ##### 添加全局共享变量数据模型 使用 `global` 语句。 ```html ``` ##### 直接调用 Java 对象的方法 直接使用对象和方法名。 ```html ${b.method()} ``` ##### 字符串处理(内置方法) Freemarker 提供了一系列...

    FreeMarker语法大全

    --#--&gt;` 或 `#{...}` 用于在模板中添加注释,这些注释不会被渲染到最终输出。 - **条件语句**:`&lt;#if&gt;...&lt;#else&gt;...&lt;#endif&gt;` 和 `&lt;#if&gt;...&lt;#elseif&gt;...&lt;#else&gt;...&lt;#endif&gt;` 分别用于条件判断和多条件分支。 2. **...

    springboot如何使用Freemarker模版引擎

    - 在`pom.xml`文件中添加Freemarker的依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-freemarker ``` - 配置`application.properties`或`application.yml`,指定模板...

    freemarker与struts2详细配置

    这可以通过添加以下配置实现: ```xml ``` 这里我们设置了FreeMarker模板的加载路径,并定义了一个结果类型`freemarker`,将动作结果映射到Freemarker模板。 ### 3. 创建Freemarker模板 在指定的`...

    freemarker编辑插件

    同时,熟悉如何将Freemarker与后端数据模型绑定,以及如何在Spring MVC或其他Web框架中配置和使用Freemarker模板,这些都对使用"freemarker编辑插件"进行高效开发至关重要。 总之,"freemarker编辑插件"作为一款...

    freemarker总结

    6、 用户自定义FTL指令:宏和变换器 7、 节点 节点变量表示为树型结构中的一个节点,通常在XML处理中使用。 在模板里对sequences和hashes初始化 sequences 1. [“you”,”me”,”he”] 2. 1..100 3. [ {“Akey...

Global site tag (gtag.js) - Google Analytics