日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Spring MVC整合FreeMarker的示例

瀏覽:21日期:2023-07-27 13:10:06
什么是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)頁(yè)面或是頁(yè)面展示

一.工程結(jié)構(gòu)

Spring MVC整合FreeMarker的示例

二.web.xml

<?xml version='1.0' encoding='UTF-8'?><web-app version='2.4' xmlns='http://java.sun.com/xml/ns/j2ee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd'> <display-name>SpringMVC</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springMVC-servlet.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>encodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>三.springMVC-servlet.xml

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:context='http://www.springframework.org/schema/context' xmlns:p='http://www.springframework.org/schema/p' xmlns:mvc='http://www.springframework.org/schema/mvc' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd '> <!-- 自動(dòng)掃描包 --> <context:component-scan base-package='com.bijian.study.controller'></context:component-scan> <!-- 默認(rèn)注解映射支持 --> <mvc:annotation-driven></mvc:annotation-driven> <!--JSP視圖解析器--> <bean class='org.springframework.web.servlet.view.InternalResourceViewResolver'> <property name='prefix' value='/WEB-INF/views/'/> <property name='suffix' value='.jsp'/> <property name='viewClass' value='org.springframework.web.servlet.view.InternalResourceView'/> <property name='order' value='1'/> </bean> <!-- 配置freeMarker視圖解析器 --> <bean class='org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver'> <property name='viewClass' value='org.springframework.web.servlet.view.freemarker.FreeMarkerView'/> <property name='contentType' value='text/html; charset=UTF-8'/> <property name='exposeRequestAttributes' value='true' /> <property name='exposeSessionAttributes' value='true' /> <property name='exposeSpringMacroHelpers' value='true' /> <property name='cache' value='true' /> <property name='suffix' value='.ftl' /> <property name='order' value='0'/> </bean> <!-- 配置freeMarker的模板路徑 --> <bean class='org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer'> <property name='templateLoaderPath' value='/WEB-INF/ftl/'/> <property name='freemarkerVariables'> <map><entry key='xml_escape' value-ref='fmXmlEscape' /> </map> </property> <property name='defaultEncoding' value='UTF-8'/> <property name='freemarkerSettings'> <props><prop key='template_update_delay'>3600</prop><prop key='locale'>zh_CN</prop><prop key='datetime_format'>yyyy-MM-dd HH:mm:ss</prop><prop key='date_format'>yyyy-MM-dd</prop><prop key='number_format'>#.##</prop> </props> </property> </bean> <bean /></beans>

在JSP和Freemarker的配置項(xiàng)中都有一個(gè)order property,上面例子是把freemarker的order設(shè)置為0,jsp為1,意思是找view時(shí),先找ftl文件,再找jsp文件做為視圖。這樣Freemarker視圖解析器就能與JSP視圖解析器并存。

四.FreeMarkerController.java

package com.bijian.study.controller;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import com.alibaba.fastjson.JSON;import com.bijian.study.utils.JsonUtil;import com.bijian.study.vo.User;@Controllerpublic class FreeMarkerController { @RequestMapping('/get/usersInfo') public ModelAndView Add(HttpServletRequest request, HttpServletResponse response) { User user = new User(); user.setUsername('zhangsan'); user.setPassword('1234'); User user2 = new User(); user2.setUsername('lisi'); user2.setPassword('123'); List<User> users = new ArrayList<User>(); users.add(user); users.add(user2); return new ModelAndView('usersInfo', 'users', users); } @RequestMapping('/get/allUsers') public ModelAndView test(HttpServletRequest request, HttpServletResponse response) { List<User> users = new ArrayList<User>(); User u1 = new User(); u1.setUsername('王五'); u1.setPassword('123'); users.add(u1); User u2 = new User(); u2.setUsername('張三'); u2.setPassword('2345'); users.add(u2); User u3 = new User(); u3.setPassword('fgh'); u3.setUsername('李四'); users.add(u3); Map<String, Object> rootMap = new HashMap<String, Object>(); rootMap.put('userList', users); Map<String, String> product = new HashMap<String, String>(); rootMap.put('lastProduct', product); product.put('url', 'http://www.baidu.com'); product.put('name', 'green hose'); String result = JSON.toJSONString(rootMap); Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap = JsonUtil.getMapFromJson(result); return new ModelAndView('allUsers', 'resultMap', resultMap); }}五.JsonUtil.java

package com.bijian.study.utils;import java.util.Map;import com.alibaba.fastjson.JSON;public class JsonUtil { public static Map<String, Object> getMapFromJson(String jsonString) { if (checkStringIsEmpty(jsonString)) { return null; } return JSON.parseObject(jsonString); } /** * 檢查字符串是否為空 * @param str * @return */ private static boolean checkStringIsEmpty(String str) { if (str == null || str.trim().equals('') || str.equalsIgnoreCase('null')) { return true; } return false; }}六.User.java

ackage com.bijian.study.vo;public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}七.usersInfo.ftl

<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'><html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title>usersInfo</title></head><body><#list users as user> <div> username : ${user.username}, password : ${user.password} </div></#list></body></html>八.allUsers.ftl

<html> <head> <title>allUsers</title> </head> <body> <#list resultMap.userList as user> Welcome ${user.username}! id:${user.password}<br/> </#list> <p>Our latest product: <a href='http://www.b3g6.com/bcjs/${resultMap.lastProduct.url}' rel='external nofollow' >${resultMap.lastProduct.name} </a>! </body></html>九.運(yùn)行效果

Spring MVC整合FreeMarker的示例

Spring MVC整合FreeMarker的示例

再輸入http://localhost:8088/SpringMVC/greeting?name=zhangshan,JSP視圖解析器運(yùn)行依然正常。

Spring MVC整合FreeMarker的示例

至此,就結(jié)束完成整合了!

以上就是Spring MVC整合FreeMarker的示例的詳細(xì)內(nèi)容,更多關(guān)于Spring MVC整合FreeMarker的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩三区四区| 99久久精品网| 国产精品女主播一区二区三区| 快播电影网址老女人久久| 综合日韩av| 日韩中文在线播放| 成人在线网站| 欧美精品羞羞答答| 在线亚洲一区| 日韩精品一级中文字幕精品视频免费观看 | 国产日韩欧美三区| 欧美综合精品| 开心激情综合| 欧美aa在线观看| 欧美va天堂| 久久国产精品毛片| 青青伊人久久| 欧美激情一区| 在线天堂中文资源最新版| 久久九九精品| 日韩精品一卡二卡三卡四卡无卡| 日韩和欧美的一区| 国产精品a级| 另类专区亚洲| 99视频+国产日韩欧美| 亚洲免费专区| 精品欧美日韩精品| 2023国产精品久久久精品双| 亚洲a成人v| 麻豆免费精品视频| 国产h片在线观看| 亚洲一区久久| 国产亚洲欧美日韩在线观看一区二区 | 久久一区二区中文字幕| 黄色日韩在线| 久久国内精品自在自线400部| 精品黄色一级片| 狠狠操综合网| 欧美日一区二区三区在线观看国产免 | 精品色999| 欧美日韩激情在线一区二区三区| 天堂精品久久久久| 成人污污视频| 日韩在线一区二区| 精品国产乱码久久久久久樱花| 婷婷亚洲综合| 国产麻豆一区| 影音先锋国产精品| 国产欧美日韩在线一区二区| 欧美二三四区| 日韩和欧美一区二区三区| 亚洲精品永久免费视频| 激情综合网站| 国产精品久久久一区二区| 久久久精品午夜少妇| 亚洲免费成人av在线| 国产一区二区三区亚洲| 免费人成在线不卡| 国产白浆在线免费观看| 婷婷精品在线观看| 欧美一级专区| 亚洲欧美日本日韩| 久久国产精品成人免费观看的软件| 欧美1区二区| 国产欧美三级| 精品国产一区二区三区性色av| 日韩av一二三| 国产精品videosex极品| 丝瓜av网站精品一区二区| 玖玖精品视频| 久久久免费人体| 中文亚洲欧美| 国产日韩电影| 国产欧美日韩在线观看视频| 欧美特黄视频| 国产成人精品一区二区三区在线| 日韩中文字幕亚洲一区二区va在线| 国产成人精选| 日韩欧美久久| 女人天堂亚洲aⅴ在线观看| 欧美成人aaa| 亚洲欧洲美洲国产香蕉| 国产自产自拍视频在线观看| 亚洲1区在线观看| 欧美日韩国产一区二区三区不卡| 美女久久久精品| 日本一区中文字幕| 亚洲一区二区毛片| 成人日韩在线观看| 久久精品国产99国产精品| 亚洲精品自拍| 国产午夜精品一区二区三区欧美| av资源亚洲| 精品少妇av| 国产激情欧美| 久久激情五月婷婷| 日本不卡一二三区黄网| 狠狠久久婷婷| 亚洲天堂久久| 私拍精品福利视频在线一区| 日本久久黄色| 电影91久久久| 精品一区视频| 蜜桃久久久久| 国产精品入口久久| 欧美日韩一区二区高清| 婷婷精品在线| 亚洲综合婷婷| 亚洲图片久久| 免费在线观看视频一区| 亚洲一区二区动漫| 在线亚洲免费| 黄色欧美日韩| 99视频一区| 亚洲免费影院| 免费一区二区视频| 视频在线观看一区| 亚洲无线观看| 日本在线视频一区二区| 亚洲精品护士| 日韩在线观看一区二区三区| 中文一区一区三区免费在线观 | 香蕉视频成人在线观看| 在线 亚洲欧美在线综合一区| 欧美.日韩.国产.一区.二区 | 日韩网站中文字幕| 成人免费网站www网站高清| 亚洲成人va| 九一精品国产| 爽好久久久欧美精品| 亚洲免费专区| 国产精品自拍区| 久久精品国产在热久久| 国产成人免费| 欧美sss在线视频| 女人天堂亚洲aⅴ在线观看| 欧美日韩国产在线一区| 亚洲欧美日韩在线观看a三区| 亚洲一区免费| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲另类黄色| 91精品国产一区二区在线观看| 国产乱码精品一区二区亚洲| 麻豆久久久久久久| 极品av在线| 欧美在线亚洲| 亚洲精品九九| 91精品国产自产在线丝袜啪| 久久av免费| 中文在线а√在线8| 亚洲成人日韩| 中文字幕亚洲影视| 国产精品久久久网站| 精品久久97| 免费不卡中文字幕在线| 热久久久久久久| 国产精品最新| 久久精品1区| 一本综合精品| 鲁大师精品99久久久| 精品丝袜在线| 亚洲一级大片| 红杏一区二区三区| 午夜国产精品视频免费体验区| 日韩中文字幕| 国产一区2区| 亚洲综合日韩| 国产精品调教| 亚洲www啪成人一区二区| 三级欧美韩日大片在线看| 国产欧美日韩精品一区二区三区| 欧洲精品一区二区三区| 男女精品网站| 美腿丝袜亚洲三区| 午夜久久久久| 国产精品任我爽爆在线播放| 99久久亚洲精品蜜臀| 日韩精品五月天| 亚洲精品国产嫩草在线观看| 日本v片在线高清不卡在线观看| 国产精品久久久久久久久久10秀| 国产精品日韩久久久| 久久99偷拍| 久久久久久久久丰满| 综合精品一区| 肉色欧美久久久久久久免费看| 亚洲一区av| 亚洲精品88| 久久国产精品色av免费看| 亚洲特色特黄| 国产精品久久久久久久久久白浆| 久久久精品五月天| 国产欧美精品久久| 女人天堂亚洲aⅴ在线观看| 国产精品久久久久久久久久妞妞| 在线国产一区| 国产一区二区亚洲| 日韩欧美美女在线观看| 中文字幕系列一区| 久久不卡国产精品一区二区|