`
happyqing
  • 浏览: 3194012 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

整合Freemarker模板返回字符串

阅读更多

今朝做项目标时辰,要经由过程ajax去后台取得与Freemarker模板整合过的数据。于是就写了如许的一个类。

import java.io.StringWriter;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import freemarker.template.Configuration;
import freemarker.template.Template;

/**
 * 自定义导入模板解析类<br>
 * <li>导入模板时衬着模板用</li>
 * 
 * @author zbq
 * @date 2010-05-28
 */
public class ScreenResolver {
         
         /**
          * Freemarker设备
          */
	private FreeMarkerConfigurer freemarkerConfigurer;

	
	public FreeMarkerConfigurer getFreemarkerConfigurer() {
		return freemarkerConfigurer;
	}

	public void setFreemarkerConfigurer(
			FreeMarkerConfigurer freemarkerConfigurer) {
		this.freemarkerConfigurer = freemarkerConfigurer;
	}

		/**
	 * 衬着视图, 将数据归并至模板中.
	 * 
	 * @param ftlName
	 * @param model
	 * @return String
	 * @throws Exception
	 */
	public String mergeModelToTemlate(String ftlName, Map<String, Object> model)
			throws Exception {

		Template template = null;
		StringWriter swriter = new StringWriter();

		Configuration configuration = freemarkerConfigurer.getConfiguration();

		template = configuration.getTemplate("/demo.ftl");
		template.process(model, swriter);

		return swriter.toString();
	}
}

 

 下面是xml文件中的Freemarker的设备,要导入到上方ScreenResolver类中

<!-- Freemarker设备 -->
	<bean id="freemarkerConfigurer"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<property name="freemarkerSettings">
			<props>
				<prop key="template__delay">0</prop>
				<prop key="defaultEncoding">UTF-8</prop>
				<prop key="number_format">0.##########</prop>
				<prop key="date_format">yyyy-MM-dd</prop>
				<prop key="time_format">HH:mm:Ss</prop>
				<prop key="datetime_format">yyyy-MM-dd HH:mm:Ss</prop>
				<prop key="classic_compatible">true</prop>
			</props>
		</property>
	</bean>

 

分享到:
评论

相关推荐

    springboot整合freemarker生成静态html的demo.zip

    总的来说,这个"springboot整合freemarker生成静态html的demo"项目展示了如何在SpringBoot应用中集成FreeMarker,以及如何通过模板和字符串两种方式生成HTML。这有助于我们构建更高效、更易于维护的Web应用,将视...

    SpringBoot中整合freemarker示例代码

    这里的`hello()`方法返回的字符串"hello"是模板文件的名称,Spring Boot会自动寻找`templates/hello.ftl`文件进行渲染。 现在,我们可以在`hello.ftl`模板文件中编写HTML代码,同时可以插入Freemarker语法来处理...

    Springboot整合freemarker 404问题解决方案

    在上面的示例中,我们返回了"index"字符串,这样Freemarker就会渲染index.ftl模板,并将其返回给浏览器。 结论 本文详细介绍了Springboot整合Freemarker 404问题的解决方案。我们学习了如何在Springboot中整合...

    struts2和freemarker整合

    4. **Action返回值**:Action类的execute方法返回一个结果字符串,对应于FreeMarker模板文件的路径。 5. **数据绑定**:在Action类中设置需要传递给视图的数据,这些数据将在FreeMarker模板中被引用。 6. **模板编写...

    spring与freemarker整合 示例源码S

    4. **编写Spring MVC控制器**:在Spring MVC的控制器类中,定义处理请求的方法,返回Freemarker模板的名称。Spring会自动寻找对应的模板文件并结合模型数据进行渲染。 ```java @Controller public class ...

    struts2整合FreeMarker开发HelloWorld

    - 创建一个Java类,继承自`ActionSupport`,并实现必要的方法,如`execute()`,返回一个表示操作结果的字符串,比如"success"。在这个例子中,我们可以设置一个简单的属性,如`message`,供FreeMarker模板使用: `...

    SpringBoot集成Freemarker+FlyingSaucer实现pdf在线预览.pdf

    方法上有完整的注释,思路是利用模板引擎动态处理模板参数,先生成HTML字符串,放在StringWriter中,再用HTML字符串生成Document,再利用FlyingSaucer的ITextRenderer处理Document,最后输出PDF。 五、实现步骤 1....

    基于Java的Spring框架来操作FreeMarker模板的示例

    在提供的代码示例中,首先创建了一个`Template`对象,使用`StringReader`读取模板字符串。然后,创建一个`HashMap`作为数据模型,将变量映射到相应的值。最后,调用`Template`的`process`方法,将数据模型与模板...

    freemarker与Struts2.0的dome

    - 在Struts2的Action类中,定义方法处理用户请求,返回一个字符串结果,这个结果将与Freemarker模板关联。 - 在`struts.xml`中,为Action类的每个方法配置结果,如`&lt;result name="success"&gt;myfreemarker.ftl...

    freemaker简单小例子+ECharts例子

    4. **渲染模板**:使用`Template`对象的`process`方法,将数据模型与模板合并,生成最终的HTML字符串。 5. **返回给客户端**:将生成的HTML发送到浏览器展示。 ECharts是一款由百度开源的JavaScript图表库,它支持...

    FreeMarker_Manual_zh_CN.pdf

    此外,FreeMarker模板中可以使用插值表达式来嵌入表达式,这些表达式可以返回不同类型的数据,如数字、字符串或布尔值。 在程序开发方面,FreeMarker提供了详细的指南,说明如何在Java程序中集成FreeMarker模板引擎...

    freemarker使用文档

    1.5 将代码放在一起:在Java程序中整合FreeMarker代码。 二、数据模型 2.1 基本内容:介绍了数据模型的概念以及在模板中的应用。 2.2 标量:标量数据包括数字、字符串、布尔值等基本类型。 2.3 容器:容器是组织...

    spring mvc, tiles, freemarker集成

    6. **编写控制器**:使用Spring MVC的@Controller和@RequestMapping注解编写处理HTTP请求的控制器方法,返回一个定义了Tiles视图名称的字符串。 7. **创建模板**:在Freemarker模板文件中,编写HTML代码,使用...

    springboot-freemarker-master.rar_freemarker_springboot

    创建SpringBoot的Controller,使用`@GetMapping`或`@RequestMapping`注解定义路由,然后返回Freemarker模板名: ```java @Controller public class ViewController { @GetMapping("/index") public String ...

    freemarker总结

    有一种特殊的字符串称为raw字符串,被认为是纯文本,其中的\和{等不具有特殊含义,该类字符串在引号前面加r,下面是一个例子: ${r"/${data}"year""}屏幕输出结果为:/${data}"year" 转义 含义 ...

    Freemarker学习归纳

    - **ModelAndView**:在Controller中返回`ModelAndView`对象,其中包含模型数据和视图名,视图名对应Freemarker模板。 6. **最佳实践** - **模板设计**:保持模板简洁,避免过多业务逻辑,专注于内容展示。 - **...

    freemarker+struts2+ibatis入门学习摘要

    5. **编写 Action 类**:创建对应的 Java 类,比如 `FirstAction`,实现 Action 接口,定义执行方法(`execute()`),根据业务逻辑返回不同的结果字符串,如 "positive" 或 "negative"。 6. **定义结果页面**:在 `...

    java代码生成器(Freemaker)

    4. **生成和输出代码**:处理完成后,FreeMarker会将模板应用到数据模型上,生成的代码将以字符串形式返回。你可以选择直接写入文件系统,或者进行其他处理。 描述中提到,这个Java代码生成器“只针对Oracle,如果...

    springboot整合jsp使用jsp模板引擎(IDEA2022.2)

    在这个例子中,`hello`方法返回的字符串就是视图名称,Spring Boot会自动将其与`spring.mvc.view.prefix`和`spring.mvc.view.suffix`组合成完整的JSP路径`/WEB-INF/jsp/hello.jsp`。 现在,在`src/main/webapp/WEB-...

    spring与struts2整合

    视图结果通常由 Action 方法返回的字符串决定,该字符串作为视图资源的路径。 7. **测试与调试**:完成整合后,需要进行单元测试和集成测试以确保所有组件协同工作。可以使用像 JUnit 和 Mockito 这样的工具来进行...

Global site tag (gtag.js) - Google Analytics