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

您的位置:首頁技術文章
文章詳情頁

Spring MVC整合FreeMarker的示例

瀏覽:23日期:2023-07-27 13:10:06
什么是Freemarker?

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

一.工程結構

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 '> <!-- 自動掃描包 --> <context:component-scan base-package='com.bijian.study.controller'></context:component-scan> <!-- 默認注解映射支持 --> <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的配置項中都有一個order property,上面例子是把freemarker的order設置為0,jsp為1,意思是找view時,先找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://m.b3g6.com/bcjs/${resultMap.lastProduct.url}' rel='external nofollow' >${resultMap.lastProduct.name} </a>! </body></html>九.運行效果

Spring MVC整合FreeMarker的示例

Spring MVC整合FreeMarker的示例

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

Spring MVC整合FreeMarker的示例

至此,就結束完成整合了!

以上就是Spring MVC整合FreeMarker的示例的詳細內容,更多關于Spring MVC整合FreeMarker的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩91| 中文视频一区| 日本伊人久久| 三级欧美韩日大片在线看| 99国产精品| 久热综合在线亚洲精品| 在线看片日韩| 亚洲精品免费观看| 国产精品一区二区99| 免费看久久久| 99精品视频精品精品视频| 久久久久久美女精品| 国产精品社区| 国产日韩欧美一区二区三区| 久久伊人久久| 九九综合在线| 欧美亚洲自偷自偷| 成人自拍av| 亚洲精品无播放器在线播放| 国产一区精品福利| 夜夜精品视频| 久久福利在线| 天堂资源在线亚洲| 91av一区| 日韩午夜电影| 丰满少妇一区| 亚洲毛片在线| 蜜桃视频欧美| 国产黄色一区| 美女精品在线| 91免费精品| 日本va欧美va精品| 亚洲91精品| 久久99精品久久久野外观看| 免费日韩av片| 久久一区二区三区喷水| 国产精品调教视频| 午夜一级久久| 国产一区二区三区不卡视频网站 | 精品视频在线观看网站| 欧美性感美女一区二区 | 九一精品国产| 国模大尺度视频一区二区| 在线观看亚洲精品福利片| 伊人网在线播放| 欧美在线看片| 中文一区一区三区免费在线观 | 久久爱www.| 日韩精品高清不卡| 美女被久久久| 午夜日韩在线| 蜜桃av.网站在线观看| 欧美成a人片免费观看久久五月天| 亚洲精品乱码久久久久久蜜桃麻豆 | 韩国一区二区三区视频| 人人精品久久| 婷婷综合一区| 亚洲精品三级| 日本综合视频| 一区二区三区国产在线| 久久午夜精品| 亚洲乱码一区| 亚洲毛片一区| 欧美国产中文高清| 欧美专区一区| 久久免费精品| 蜜桃成人精品| 午夜欧美精品| 日韩欧美三区| 精品成人18| 久久中文字幕av| 视频一区二区国产| 亚洲精品日韩久久| 欧美国产先锋| 国产欧美自拍一区| 精品久久久中文字幕| 美女av一区| 电影91久久久| 不卡中文字幕| 久久都是精品| 国产亚洲久久| 一区二区精品伦理...| 91精品蜜臀一区二区三区在线| 美女精品一区| 国产精品一卡| 亚洲高清激情| 中文一区一区三区免费在线观 | 国产成人精选| 亚洲高清久久| 蜜桃视频在线观看一区| 中文字幕av一区二区三区四区| 日本一区福利在线| 日本一区二区高清不卡| 999精品色在线播放| 日韩在线卡一卡二| 国产剧情在线观看一区| 亚洲成人不卡| 国产麻豆一区二区三区| 欧美日韩尤物久久| 蜜桃久久久久久| 黑森林国产精品av| 日韩精品乱码av一区二区| 天堂网av成人| 国产剧情在线观看一区| 国产一区二区高清| 精品国产亚洲一区二区三区大结局| 人在线成免费视频| 日韩不卡手机在线v区| 欧美日韩精品一区二区视频| 日韩三区四区| 国产精品免费看| 国产精品亚洲一区二区三区在线观看| 综合激情视频| 蜜臀91精品国产高清在线观看| 国产亚洲一区| 亚洲精品在线a| 好看的亚洲午夜视频在线| 亚洲风情在线资源| 国产精品大片免费观看| 亚洲区第一页| 久久精品国产68国产精品亚洲| 国产欧美日韩精品一区二区三区| 久久成人亚洲| 视频一区视频二区在线观看| 久久国产电影| 久久久久中文| 日韩在线二区| 最新中文字幕在线播放| 91青青国产在线观看精品| 欧美国产另类| 成人午夜网址| 狠狠久久伊人| 成人在线丰满少妇av| 国产精品入口久久| 欧美日韩一区自拍| 亚洲日本在线观看视频| 免费看黄色91| 石原莉奈一区二区三区在线观看| 亚洲欧美日韩视频二区| 爽爽淫人综合网网站| 99热精品在线观看| 亚洲欧洲av| 国产精品一区二区av交换| 国产日产高清欧美一区二区三区 | 亚洲第一精品影视| 亚洲欧洲日本mm| 亚洲尤物在线| 日韩欧美中文字幕电影| 中文字幕av一区二区三区人| 视频一区中文字幕精品 | 国产图片一区| 久久精品一区二区三区中文字幕| 精品国产亚洲一区二区三区在线 | av免费不卡国产观看| 91精品精品| 97成人超碰| 亚洲三级欧美| 午夜在线精品偷拍| 日本中文字幕不卡| 麻豆中文一区二区| 一区福利视频| 国产精品香蕉| 亚洲精品一区二区妖精| 欧美一区免费| 91精品推荐| 精品视频黄色| 三级欧美在线一区| 都市激情国产精品| 亚洲毛片一区| 九色porny丨国产首页在线| 美美哒免费高清在线观看视频一区二区| 国产精品亚洲四区在线观看| 婷婷综合五月| 国产精品密蕾丝视频下载| 久久一级电影| 久久尤物视频| 日韩一二三区在线观看| 欧美福利专区| 荡女精品导航| 国产亚洲一卡2卡3卡4卡新区| 亚洲一区二区免费看| 国产盗摄——sm在线视频| 日韩精品三级| 蜜臀av一区二区在线免费观看| 日韩欧美一区二区三区在线视频| 亚洲欧美一级| 黄色免费成人| 激情五月综合网| 高清久久精品| 国产精品v亚洲精品v日韩精品| 亚洲精品福利| 亚洲男人在线| 日韩av黄色在线| 蜜桃视频免费观看一区| 午夜电影亚洲| 婷婷综合社区| 中文一区二区| 偷拍欧美精品| 欧美精品九九| 久久最新视频|