spring与freemarker整合
来源:互联网 发布:qq飞车白银帝王数据 编辑:程序博客网 时间:2024/05/23 10:02
一、配置环境
使用maven管理工具导入jar包
<properties> <webVersion>3.1</webVersion> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring-version>4.3.5.RELEASE</spring-version></properties><dependencies> <!-- spring 依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring-version}</version> </dependency> <!--freemarker的包--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency></dependencies>
配置文件:
这里的配置大体上与springmvc差不多,主要的区别是将springmvc的视图解析器改为freemarker的视图解析,另外添加freemarkerConfig的配置,大体的配置如下:spring-freemarker.xml
<!-- 组件扫描 --><context:component-scan base-package="com.wqh.action"/><!-- 使用注解开发 --><mvc:annotation-driven/><!-- 视图解析器 --><!-- 使用freemarker的视图配置 --><bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <!--是否开启缓存--> <property name="cache" value="true"/> <!--前缀--> <property name="prefix" value=""/> <!--视图层的后缀,这里是返回到.html的页面,也可以改为模板文件的后缀.ftl--> <property name="suffix" value=".html"/> <property name="contentType" value="text/html;charset=UTF-8"></property> <property name="requestContextAttribute" value="request"/> <property name="exposeSpringMacroHelpers" value="true"/> <property name="exposeRequestAttributes" value="true"/> <property name="exposeSessionAttributes" value="true"/></bean><bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!--扫描freemarker的模板文件所在的位置--> <property name="templateLoaderPath" value="/" /> <property name="freemarkerSettings"> <props> <!--更新模板的时间--> <prop key="template_update_delay">0</prop> <!--编码格式--> <prop key="default_encoding">UTF-8</prop> <!--数据格式化的配置--> <prop key="number_format">0.##########</prop> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="classic_compatible">true</prop> <prop key="template_exception_handler">ignore</prop> </props> </property></bean>
web.xml的配置:这里大致上与springmvc相同
<!-- 使用通配符*加载spring的配置问件 --><context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value></context-param><listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 定义拦截器,解决post乱码 --><filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param></filter><filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping><!-- 前端控制器 --><servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- 配置文件 --> <param-value>classpath:spring/spring-freemarker.xml</param-value> </init-param></servlet><servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.action</url-pattern></servlet-mapping>
整个项目:
其他层这里就不配置了
二、action方法
@RequestMapping("/freemark")public ModelAndView testFreeMark(){ ModelAndView modelAndView = new ModelAndView(); User user = new User(); user.setId("dfsd"); user.setContent("sdsd"); user.setName("sdssxcv"); modelAndView.addObject("user",user); return modelAndView;}
页面
<html><head> <title>Title</title></head><body> id:${user.id} name:${user.name} content:${user.content} <!--定义变量--> <#assign index=1/> <!--变量的使用--> ${index}</body></html>
测试
阅读全文
0 0
- Spring 与 freemarker 整合
- spring与freemarker整合
- FreeMarker与Spring整合
- freemarker与spring的整合
- spring mvc与Freemarker的整合
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- spring+struts2+freemarker整合
- Spring MVC 整合 Freemarker
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- spring整合freemarker
- Redis学习笔记之redis基础
- nio udp server client Demo例子(五)
- C++11 decltype关键字
- 自然语言处理如何入门
- sql 三大范式
- spring与freemarker整合
- 20170603-leetcode-560-Subarray Sum Equals K
- OpenCL、OpenGL和DirectX三者的区别
- 启动项目时报refresh错误
- Java中构造函数详解
- cadence allegro 17.2 design outline的使用
- 博客搬家,欢迎大家去我的简书做客
- 3 线程间通信
- 4 Lock的使用