欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring MVC整合 freemarker及使用方法

 更新時間:2019年07月26日 10:18:01   作者:楚楚99  
Spring MVC是一種基于Java的實現(xiàn)了Web MVC設(shè)計模式的請求驅(qū)動類型的輕量級Web框架,這篇文章主要介紹了Spring MVC整合 freemarker及使用方法,需要的朋友可以參考下

1、什么是Spring MVC?

Spring MVC是一種基于Java的實現(xiàn)了Web MVC設(shè)計模式的請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進行職責解耦,基于請求驅(qū)動指的就是使用請求-響應(yīng)模型,SpringMVC框架的目的就是幫助我們簡化開發(fā)。

Spring MVC 實現(xiàn)了即用的 MVC 的核心概念。它為控制器和處理程序提供了大量與此模式相關(guān)的功能。并且當向 MVC 添加反轉(zhuǎn)控制(Inversion of Control,IoC)時,它使應(yīng)用程序高度解耦,提供了通過簡單的配置更改即可動態(tài)更改組件的靈活性。Spring MVC 提供了完全控制應(yīng)用程序的各個方面的力量。Spring 的 Web MVC 模塊是圍繞 DispatcherServlet 而設(shè)計的。DispatcherServlet 給處理程序分派請求,執(zhí)行視圖解析,并且處理語言環(huán)境和主題解析,并且還為上傳文件提供支持。

Spring MVC屬于Spring Frame Work的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring框架最初由Rod Johnson撰寫,并于2003年6月根據(jù)Apache 2.0許可證首次發(fā)布。

Spring MVC框架提供了MVC(模型 - 視圖 - 控制器)架構(gòu)和用于開發(fā)靈活和松散耦合的Web應(yīng)用程序的組件。 MVC模式導致應(yīng)用程序的不同方面(輸入邏輯,業(yè)務(wù)邏輯和UI邏輯)分離,同時提供這些元素之間的松散耦合。

模型(Model)封裝了應(yīng)用程序數(shù)據(jù),通常它們將由POJO類組成。視圖(View)負責渲染模型數(shù)據(jù),一般來說它生成客戶端瀏覽器可以解釋HTML輸出??刂破?Controller)負責處理用戶請求并構(gòu)建適當?shù)哪P?,并將其傳遞給視圖進行渲染。

參考:SpringMVC中文官網(wǎng):SpringMVC中文官網(wǎng)

2、什么是Freemarker

FreeMarker是一個用Java語言編寫的模板引擎,它基于模板來生成文本輸出。FreeMarker與Web容器無關(guān),即在Web運行時,它并不知道Servlet或HTTP。它不僅可以用作表現(xiàn)層的實現(xiàn)技術(shù),而且還可以用于生成XML,JSP或Java 等。
目前企業(yè)中:主要用Freemarker做靜態(tài)頁面或是頁面展示

3、Freemarker的使用方法

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

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

springMVC-servlet.xml文件內(nèi)容:

<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文件內(nèi)容:

<!-- 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數(shù)據(jù)用的
@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;
}
}

總結(jié)

以上所述是小編給大家介紹的Spring MVC整合 freemarker及使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • JRebel在線激活破解實現(xiàn)教程

    JRebel在線激活破解實現(xiàn)教程

    這篇文章主要介紹了JRebel在線激活破解實現(xiàn)教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • Mybatis常見注解有哪些(總結(jié))

    Mybatis常見注解有哪些(總結(jié))

    這篇文章主要介紹了Mybatis常見注解有哪些(總結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 關(guān)于Spring?Cache?緩存攔截器(?CacheInterceptor)

    關(guān)于Spring?Cache?緩存攔截器(?CacheInterceptor)

    這篇文章主要介紹了關(guān)于Spring?Cache緩存攔截器(?CacheInterceptor),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 三分鐘讀懂mybatis中resultMap和resultType區(qū)別

    三分鐘讀懂mybatis中resultMap和resultType區(qū)別

    這篇文章主要給大家介紹了mybatis中resultMap和resultType區(qū)別的相關(guān)資料,resultType和resultMap都是mybatis進行數(shù)據(jù)庫連接操作處理返回結(jié)果的,需要的朋友可以參考下
    2023-07-07
  • MySQL text類型對應(yīng)mybatis jdbcType類型方式

    MySQL text類型對應(yīng)mybatis jdbcType類型方式

    這篇文章主要介紹了MySQL text類型對應(yīng)mybatis jdbcType類型方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java 基于Jakarta Mail實現(xiàn)收發(fā)郵件

    Java 基于Jakarta Mail實現(xiàn)收發(fā)郵件

    這篇文章主要介紹了Java 基于Jakarta Mail實現(xiàn)收發(fā)郵件的功能,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-04-04
  • IDEA連接mysql保姆級教學教程

    IDEA連接mysql保姆級教學教程

    學習使用IDEA的時候,需要連接Database,下面這篇文章主要給大家介紹了關(guān)于IDEA連接mysql的保姆級教學教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • 基于SpringBoot加載Mybatis的TypeAlias問題

    基于SpringBoot加載Mybatis的TypeAlias問題

    這篇文章主要介紹了解決SpringBoot加載Mybatis的TypeAlias問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java基礎(chǔ)概述面試題復習

    Java基礎(chǔ)概述面試題復習

    這篇文章主要介紹了java基礎(chǔ)面試題,文中的描述非常詳細,對正在學習java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • 基于Spring + Spring MVC + Mybatis 高性能web構(gòu)建實例詳解

    基于Spring + Spring MVC + Mybatis 高性能web構(gòu)建實例詳解

    這篇文章主要介紹了基于Spring + Spring MVC + Mybatis 高性能web構(gòu)建實例詳解,需要的朋友可以參考下
    2017-04-04

最新評論