什么是FreeMarker
FreeMarker是一个 Java 的模板引擎,可以使用它来动态的绑定数据。比如我们在 JSP 中想要直接显示 Controller 传过来的数据的时候,那么我们就可以使用到 FreeMarker。
比如上图中的 ${name} 就是一个模板,这样的话前端不需要知道这个数据的具体逻辑,后端给就是了,页面的样式和数据之间分离出来,各过各的,挺好。
FreeMarker 还提供了一些指令,比如 if 判断,列表数据,循环等。我们的项目中到时候会用到。
FreeMarker与SpringMVC的整合
maven 依赖 freemarker
freemarker的maven依赖,最新版本如下:
1 2 3 4 5
| <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>
|
支持集成常见的第三方库的依赖:
1 2 3 4 5
| <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency>
|
SpringMVC配置FreeMarker
1 2 3 4 5 6 7 8 9
| <!--freemarker的配置在前,当当请求发现/WEB-INF/ftl/没有的时候,就会去/WEB-INF/jsp/查找--> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/ftl/"/> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="prefix" value=""/> <property name="suffix" value=".ftl"/> <property name="contentType" value="text/html; charset=UTF-8"/> </bean>
|
Controller使用FreeMarker
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @Controller public class FreeMarkerTestController {
@RequestMapping("/hello") public String SayHello(Model model){ model.addAttribute("name","wistbean"); return "hello"; }
@RequestMapping("/hi") public String SayHi(Model model){ model.addAttribute("name","wistbean"); return "hi"; } }
|
template使用
SSM视频教程目录
在公众号「帅彬老仙」发送「帅书」领取我写的技术电子书,转载请注明出处:
wistbean