温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringMVC整合freemarker及使用方法

发布时间:2021-10-13 16:08:43 来源:亿速云 阅读:118 作者:柒染 栏目:编程语言

本篇文章为大家展示了SpringMVC整合freemarker及使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1、什么是Spring MVC?

Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,SpringMVC框架的目的就是帮助我们简化开发。

Spring MVC 实现了即用的 MVC 的核心概念。它为控制器和处理程序提供了大量与此模式相关的功能。并且当向 MVC 添加反转控制(Inversion of Control,IoC)时,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。Spring MVC 提供了完全控制应用程序的各个方面的力量。Spring 的 Web MVC 模块是围绕 DispatcherServlet 而设计的。DispatcherServlet 给处理程序分派请求,执行视图解析,并且处理语言环境和主题解析,并且还为上传文件提供支持。

Spring MVC属于Spring Frame Work的后续产品,已经融合在Spring Web Flow里面。Spring框架最初由Rod Johnson撰写,并于2003年6月根据Apache 2.0许可证首次发布。

Spring MVC框架提供了MVC(模型 - 视图 - 控制器)架构和用于开发灵活和松散耦合的Web应用程序的组件。 MVC模式导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合。

模型(Model)封装了应用程序数据,通常它们将由POJO类组成。视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出。控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。

参考:SpringMVC中文官网:SpringMVC中文官网

2、什么是Freemarker

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。目前企业中:主要用Freemarker做静态页面或是页面展示

3、Freemarker的使用方法

把freemarker的jar包添加到工程中,Maven工程添加依赖

<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version></dependency>

springMVC-servlet.xml文件内容:

<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" /> </bean>

applicationContext.xml文件内容:

<!-- freemarker的配置 --><bean id="freemarkerConfig"class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="templateLoaderPath" value="/WEB-INF/page/" />    <!--上下文地址的获取--><property name="freemarkerVariables"><map><entry key="base" value="#{servletContext.contextPath}" /></map></property><property name="defaultEncoding" value="utf-8" /><property name="freemarkerSettings"><props><prop key="template_update_delay">10</prop><prop key="locale">zh_CN</prop><prop key="datetime_format">yyyy-MM-dd</prop><!-- 时间格式化 --><prop key="date_format">yyyy-MM-dd</prop><prop key="number_format">#.##</prop></props></property></bean>

模板文件示例,ftl文件,freemarker.ftl

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>${title}</title></head><body>${content}</body></html>

Controler示例,通过ModelAndView引用一个模板,使用的时候名字不带后缀

@Controller@RequestMapping("/index/")public class FreeMarkerController {private Logger LOGGER = LoggerFactory.getLogger(FreeMarkerController.class);//批量更新DQC数据用的@RequestMapping(value = "test", produces = "text/plain;charset=UTF-8",method = RequestMethod.GET)public ModelAndView freeMarkerTest() {ModelAndView mv = new ModelAndView("freemarker");mv.addObject("title", "Spring MVC And Freemarker");mv.addObject("content", " Hello world , This is my first spring mvc ! ");return mv;}}

上述内容就是SpringMVC整合freemarker及使用方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI