本篇文章為大家展示了SpringMVC整合freemarker及使用方法,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為寧化企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、做網(wǎng)站,寧化網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
1、什么是Spring MVC?
Spring MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦,基于請(qǐng)求驅(qū)動(dòng)指的就是使用請(qǐng)求-響應(yīng)模型,SpringMVC框架的目的就是幫助我們簡化開發(fā)。
Spring MVC 實(shí)現(xiàn)了即用的 MVC 的核心概念。它為控制器和處理程序提供了大量與此模式相關(guān)的功能。并且當(dāng)向 MVC 添加反轉(zhuǎn)控制(Inversion of Control,IoC)時(shí),它使應(yīng)用程序高度解耦,提供了通過簡單的配置更改即可動(dòng)態(tài)更改組件的靈活性。Spring MVC 提供了完全控制應(yīng)用程序的各個(gè)方面的力量。Spring 的 Web MVC 模塊是圍繞 DispatcherServlet 而設(shè)計(jì)的。DispatcherServlet 給處理程序分派請(qǐng)求,執(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模式導(dǎo)致應(yīng)用程序的不同方面(輸入邏輯,業(yè)務(wù)邏輯和UI邏輯)分離,同時(shí)提供這些元素之間的松散耦合。
模型(Model)封裝了應(yīng)用程序數(shù)據(jù),通常它們將由POJO類組成。視圖(View)負(fù)責(zé)渲染模型數(shù)據(jù),一般來說它生成客戶端瀏覽器可以解釋HTML輸出??刂破?Controller)負(fù)責(zé)處理用戶請(qǐng)求并構(gòu)建適當(dāng)?shù)哪P?,并將其傳遞給視圖進(jìn)行渲染。
參考:SpringMVC中文官網(wǎng):SpringMVC中文官網(wǎng)
2、什么是Freemarker
FreeMarker是一個(gè)用Java語言編寫的模板引擎,它基于模板來生成文本輸出。FreeMarker與Web容器無關(guān),即在Web運(yùn)行時(shí),它并不知道Servlet或HTTP。它不僅可以用作表現(xiàn)層的實(shí)現(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><!-- 時(shí)間格式化 --><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引用一個(gè)模板,使用的時(shí)候名字不帶后綴
@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;}}
上述內(nèi)容就是SpringMVC整合freemarker及使用方法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞標(biāo)題:SpringMVC整合freemarker及使用方法
鏈接分享:http://chinadenli.net/article46/poojeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、面包屑導(dǎo)航、營銷型網(wǎng)站建設(shè)、微信小程序、服務(wù)器托管、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)