今朝做项目标时辰,要经由过程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"项目展示了如何在SpringBoot应用中集成FreeMarker,以及如何通过模板和字符串两种方式生成HTML。这有助于我们构建更高效、更易于维护的Web应用,将视...
这里的`hello()`方法返回的字符串"hello"是模板文件的名称,Spring Boot会自动寻找`templates/hello.ftl`文件进行渲染。 现在,我们可以在`hello.ftl`模板文件中编写HTML代码,同时可以插入Freemarker语法来处理...
在上面的示例中,我们返回了"index"字符串,这样Freemarker就会渲染index.ftl模板,并将其返回给浏览器。 结论 本文详细介绍了Springboot整合Freemarker 404问题的解决方案。我们学习了如何在Springboot中整合...
4. **Action返回值**:Action类的execute方法返回一个结果字符串,对应于FreeMarker模板文件的路径。 5. **数据绑定**:在Action类中设置需要传递给视图的数据,这些数据将在FreeMarker模板中被引用。 6. **模板编写...
4. **编写Spring MVC控制器**:在Spring MVC的控制器类中,定义处理请求的方法,返回Freemarker模板的名称。Spring会自动寻找对应的模板文件并结合模型数据进行渲染。 ```java @Controller public class ...
- 创建一个Java类,继承自`ActionSupport`,并实现必要的方法,如`execute()`,返回一个表示操作结果的字符串,比如"success"。在这个例子中,我们可以设置一个简单的属性,如`message`,供FreeMarker模板使用: `...
方法上有完整的注释,思路是利用模板引擎动态处理模板参数,先生成HTML字符串,放在StringWriter中,再用HTML字符串生成Document,再利用FlyingSaucer的ITextRenderer处理Document,最后输出PDF。 五、实现步骤 1....
在提供的代码示例中,首先创建了一个`Template`对象,使用`StringReader`读取模板字符串。然后,创建一个`HashMap`作为数据模型,将变量映射到相应的值。最后,调用`Template`的`process`方法,将数据模型与模板...
- 在Struts2的Action类中,定义方法处理用户请求,返回一个字符串结果,这个结果将与Freemarker模板关联。 - 在`struts.xml`中,为Action类的每个方法配置结果,如`<result name="success">myfreemarker.ftl...
4. **渲染模板**:使用`Template`对象的`process`方法,将数据模型与模板合并,生成最终的HTML字符串。 5. **返回给客户端**:将生成的HTML发送到浏览器展示。 ECharts是一款由百度开源的JavaScript图表库,它支持...
此外,FreeMarker模板中可以使用插值表达式来嵌入表达式,这些表达式可以返回不同类型的数据,如数字、字符串或布尔值。 在程序开发方面,FreeMarker提供了详细的指南,说明如何在Java程序中集成FreeMarker模板引擎...
1.5 将代码放在一起:在Java程序中整合FreeMarker代码。 二、数据模型 2.1 基本内容:介绍了数据模型的概念以及在模板中的应用。 2.2 标量:标量数据包括数字、字符串、布尔值等基本类型。 2.3 容器:容器是组织...
6. **编写控制器**:使用Spring MVC的@Controller和@RequestMapping注解编写处理HTTP请求的控制器方法,返回一个定义了Tiles视图名称的字符串。 7. **创建模板**:在Freemarker模板文件中,编写HTML代码,使用...
创建SpringBoot的Controller,使用`@GetMapping`或`@RequestMapping`注解定义路由,然后返回Freemarker模板名: ```java @Controller public class ViewController { @GetMapping("/index") public String ...
有一种特殊的字符串称为raw字符串,被认为是纯文本,其中的\和{等不具有特殊含义,该类字符串在引号前面加r,下面是一个例子: ${r"/${data}"year""}屏幕输出结果为:/${data}"year" 转义 含义 ...
- **ModelAndView**:在Controller中返回`ModelAndView`对象,其中包含模型数据和视图名,视图名对应Freemarker模板。 6. **最佳实践** - **模板设计**:保持模板简洁,避免过多业务逻辑,专注于内容展示。 - **...
5. **编写 Action 类**:创建对应的 Java 类,比如 `FirstAction`,实现 Action 接口,定义执行方法(`execute()`),根据业务逻辑返回不同的结果字符串,如 "positive" 或 "negative"。 6. **定义结果页面**:在 `...
4. **生成和输出代码**:处理完成后,FreeMarker会将模板应用到数据模型上,生成的代码将以字符串形式返回。你可以选择直接写入文件系统,或者进行其他处理。 描述中提到,这个Java代码生成器“只针对Oracle,如果...
在这个例子中,`hello`方法返回的字符串就是视图名称,Spring Boot会自动将其与`spring.mvc.view.prefix`和`spring.mvc.view.suffix`组合成完整的JSP路径`/WEB-INF/jsp/hello.jsp`。 现在,在`src/main/webapp/WEB-...
视图结果通常由 Action 方法返回的字符串决定,该字符串作为视图资源的路径。 7. **测试与调试**:完成整合后,需要进行单元测试和集成测试以确保所有组件协同工作。可以使用像 JUnit 和 Mockito 这样的工具来进行...