FreeMarker与Spring框架及SSM的整合过程
来源:互联网 发布:mac导入的照片 文件夹 编辑:程序博客网 时间:2024/05/11 13:04
前两篇博客介绍了freemaker是什么以及简单的语法规则,下面我们通过实现一个demo来看在实际应用中如何使用freemaker,本篇博客主要介绍freemaker与spring的整合。
需要的Jar包:freemarker-2.3.15.jar
在已搭建好的spring的配置文件的基础上添加以下代码:
配置文件:
<beanidbeanid="freemarkerConfig" class="org.springframework.web.servlet .view.freemarker.FreeMarkerConfigurer"> <propertynamepropertyname="templateLoaderPath" value="/WEB-INF/ftl/"/> </bean> <beanidbeanid="viewResolver" class="org.springframework.web.servlet .view.freemarker.FreeMarkerViewResolver"> <property name="cache"value="true"/> <property name="prefix"value=""/> <property name="suffix"value=".ftl"/> <property name="contentType"value="text/html; charset=UTF-8"/> </bean> <bean class="org.springframework.web.servlet .view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix"value="/WEB-INF/jsp/" /> <property name="suffix"value=".jsp" /> </bean>
Java文件:
package org.fre.controller; importorg.springframework.stereotype.Controller; importorg.springframework.ui.Model; importorg.springframework.web.bind.annotation.RequestMapping; @Controller public classHelloController { @RequestMapping("/hello") public String hello(Model model) { model.addAttribute("username", "张三"); return "hello"; } @RequestMapping("/world") public String helloworld(Model model) { model.addAttribute("username","李四"); return "world"; } }
ftl文件:
<html> <head> <metahttp-equivmetahttp-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Inserttitle here</title> </head> <body> <h1>${username}</h1> </body> </html>
jsp文件:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <metahttp-equivmetahttp-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Insert titlehere</title> </head> <body> ${username } </body> </html>
访问时一个显示张三,一个显示李四。至此,整合成功了。通过对比ftl文件和jsp文件,发现大同小异,ftl文件编写与jsp文件编写区别不大,所以比较容易上手使用。
另外,我在这里再简单说下,如果与SSM框架整合的话,再整合中
<!-- 1.配置要扫描的包 --> <context:component-scan base-package="com.baidu"/> <mvc:annotation-driven /><!-- 2.配置视图解析器 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> --> <!-- 3.配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://127.0.0.1:3306/duan"></property> <property name="username" value="root"></property> <property name="password" value="1234"></property> </bean> <!-- 4.注入连接池到事物 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 5.开启事物 --> <tx:annotation-driven transaction-manager="transactionManager"/> <!-- 6. dao接口所在包名,Spring会自动查找其下的类--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="sessionFactory"></property> <property name="basePackage" value="com.baidu.dao"></property> </bean> <!-- 7.加载-maper.xml 建立Session工厂--> <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="mapperLocations" value="classpath:com/*/*/*.xml"></property> </bean> <!-- 针对freemarker的视图配置 --> <bean id="freemarkerResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="order" value="1" /> <property name="suffix" value=".ftl" /> <property name="contentType" value="text/html;charset=utf-8" /> <property name="viewClass"> <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView</value> </property> <property name="requestContextAttribute" value="rc" /></bean><!-- freemaker配置 --><bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"> <value>/views/</value> </property> <property name="freemarkerSettings"><!-- 设置FreeMarker环境属性 --> <props> <prop key="template_update_delay">5</prop><!--刷新模板的周期,单位为秒 --> <prop key="default_encoding">UTF-8</prop><!--模板的编码格式 --> <prop key="locale">UTF-8</prop><!-- 本地化设置 --> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="time_format">HH:mm:ss</prop> <prop key="number_format">0.####</prop> <prop key="boolean_format">true,false</prop> <prop key="whitespace_stripping">true</prop> <prop key="tag_syntax">auto_detect</prop> <prop key="url_escaping_charset">UTF-8</prop> </props> </property></bean> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8" /> <property name="maxUploadSize" value="104857600" /> <propertyname=”maxInMemorySize” value=”4096” /> </beans>
这里的SSM整合的配置项就相对多些了,但是相对于SSM整合来说没有什么变化,只是变了下视图解析器的配置,将其变为FreeMArker的配置。
以上就是我对FreeMarker的简单的理解与运用,相信许多人要比我用的深刻,在这里,希望对大家有所帮助,同时也希望大家可以对我指点下,大家可以共同进步。
0 0
- FreeMarker与Spring框架及SSM的整合过程
- FreeMarker与Spring框架及SSM的整合过程
- 《SSM框架实战》 整合 Freemarker
- freemarker与spring的整合
- SSM(Spring+Spring MVC+Mybatis)框架整合过程
- Spring 与 freemarker 整合
- spring与freemarker整合
- FreeMarker与Spring整合
- SSM框架搭建详细过程,springmvc、spring、mybatis整合
- WebService cxf 与 ssm框架的整合
- spring mvc与Freemarker的整合
- SSM(Spring+SpringMVC+MyBatis)三大框架整合及遇到的各种问题
- SSM框架的整合
- SSM框架的整合
- SSM框架的整合
- ssm框架的整合
- SSM框架的整合
- SSM框架的整合
- 01. ubuntu 16.04 LTS 双系统安装之系统盘制作
- rhce学习第三天
- Hikari java数据库连接池实战
- JAVA String字符串倒序
- 在app进程杀死状态下获取推送消息
- FreeMarker与Spring框架及SSM的整合过程
- 映射与反射
- 02. ubuntu 16.04 LTS 双系统安装之系统安装
- 用date命令给CentOS Linux设置修改系统日期和时间的方法
- Docker实战(十三):Docker安装MySQL数据库
- 03. ubuntu 16.04 LTS 双系统安装之配置双系统引导
- 使用eclipse远程调试weblogic
- rhce学习第四天
- 04. ubuntu 16.04 LTS 系统使用简介