Spring MVC整合Freemarker及使用方法
Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,主要用于开发Web应用程序。它实现了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型。Spring MVC提供了大量与MVC模式相关的功能,并且当向MVC添加反转控制(Inversion of Control,IoC)时,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。
Spring MVC框架提供了MVC(模型-视图-控制器)架构和用于开发灵活和松散耦合的Web应用程序的组件。MVC模式导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合。模型(Model)封装了应用程序数据,通常它们将由POJO类组成。视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释的HTML输出。控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java等。目前企业中主要用Freemarker做静态页面或是页面展示。
Freemarker的使用方法:
1. 添加Freemarker的jar包到工程中,Maven工程添加依赖:<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version></dependency>
2. 在springMVC-servlet.xml文件中添加ViewResolver配置:<bean id="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"></property> <property name="requestContextAttribute" value="request" /> <property name="exposeSpringMacroHelpers" value="true" /> <property name="exposeRequestAttributes" value="true" /> <property name="exposeSessionAttributes" value="true" />
3. 在applicationContext.xml文件中添加Freemarker的配置:<bean id="freemarkerConfig"class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="templateLoaderPath" value="/WEB-INF/views/"/><property name="preferFileSystemAccess" value="true"/><property name="defaultEncoding" value="UTF-8"/></bean>
通过以上配置和使用方法,可以将Spring MVC与Freemarker整合,实现了灵活和松散耦合的Web应用程序开发。