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

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

springboot返回modelandview頁面的實例

瀏覽:38日期:2023-04-15 14:33:25

1、添加依賴

這個應該是web項目相關的jar

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

<!-- jstl JSP標準標簽庫 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 返回jsp頁面還需要這個依賴 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency>

2、application.properties

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>

我這里是parent是1.5.10,所以jsp的配置應該如下

#jsp pathspring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jsp老版本的應該是這個spring.view.prefix=/WEB-INF/jsp/spring.view.suffix=.jsp

3、控制器

因為是返回頁面,所以不能用@RestController返回json格式

package com.example.demo.controller; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.annotation.ComponentScan;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.servlet.ModelAndView; @Controller/*@ComponentScan*/@RequestMapping('/test')public class TestController { private final Logger log = LoggerFactory.getLogger(this.getClass()); @RequestMapping(value = 'queryMaterialType', method = RequestMethod.POST) public Object test(){ log.info('--------------->>打印日志'); return 'hellow world'; } //@RestController,返回json數據 //@Controller,返回login.jsp頁面 @RequestMapping(value = '/login', method = RequestMethod.GET) public String login(HttpServletRequest request,HttpServletResponse response){ return 'login'; } //無論是@RestController還是@Controller都不影響返回頁面 @RequestMapping(value = '/loginPage', method = RequestMethod.GET) public ModelAndView loginPage(HttpServletRequest request,HttpServletResponse response){ ModelAndView mav = new ModelAndView(); mav.setViewName('login'); return mav; }}

補充知識:springBoot前后分離項目,通過ModelAndView返回給app或前臺靜態頁面

1.先做靜態頁模板aaa.html,放到springboot項目的根目錄下,如下如中,新建一個templates的文件夾,將靜態頁放到這里面就可以了

springboot返回modelandview頁面的實例

靜態頁代碼為

<!DOCTYPE html SYSTEM 'http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd'><html xmlns='http://www.w3.org/1999/xhtml' xmlns:th='http://www.thymeleaf.org'><head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <meta http-equiv='X-UA-Compatible' content='IE=EmulateIE7'> <meta name='viewport' content='width=device-width, initial-scale=0.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0'> <meta content='yes' name='apple-mobile-web-app-capable'> <meta content='black' name='apple-mobile-web-app-status-bar-style'> <meta content='telephone=no' name='format-detection'> <title>標題</title> <style type='text/css'> body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background: #f3f3f3; font-family: 'Microsoft YaHei ', '微軟雅黑', 'arial'; } h1 { height: 1px; width: 100%; margin: 10px 0; background: #f1f1f1; } img { width: 100%; height: auto; } .bodys { width: 100%; height: auto; overflow: Hidden; padding-top: 10px; padding-bottom: 50px; background: #fff; } .head { width: 96%; min-height: 30px; padding: 18px 2% 2px 2%; line-height: 25px; text-align: left; font-size: 20px; font-weight: bold; color: #111; } .time { width: 96%; height: 20px; line-height: 20px; font-size: 11px; text-align: left; padding: 0 2%; color: #999; } .info { width: 96%; height: auto; padding: 10px 2%; line-height: 25px; text-align: left; font-size: 15px; } </style></head> <body><div class='bodys'> <div th:text='${itle}'>未知</div> <div th:text='${addDate}'>未知</div> <h1></h1> <div th:utext='${content}'>未知</div></div></body></html>

2.然后主要是 controller層,業務邏輯根據自己的需求來

@RequestMapping('/html')@Controllerpublic class AppCommonHtmlController { @RequestMapping(value = '/ceshi', method = RequestMethod.GET) public ModelAndView getCeishi(“根據自己業務傳入需要的參數”) { ModelAndView modelAndView=new ModelAndView(); //根據自己的業務,和靜態頁中的參數對應上就行,也可以放入實體類,和靜態頁面對應就行了 modelAndView.addObject('title',“標題”); modelAndView.addObject('addDate',“添加時間”); modelAndView.addObject('content',“內容”); //存入靜態頁的名稱,就可以把處理好的靜態頁返回給app或前臺 modelAndView.setViewName('aaa'); return modelAndView; }}

然后瀏覽器輸入:http://localhost:8888/項目名/html/ceshi

該方法多適用于app端,需要根據不同的情況得到不一樣內容的靜態頁展示到手機上,就可以通過這種方法,做一個靜態頁的模板,通過el表達式給模板不同的內容,然后app端可以通過訪問的ip直接獲取到靜態頁

下面的方法也可以,效果同上面一樣

靜態頁代碼

<!DOCTYPE html SYSTEM 'http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd'><html xmlns='http://www.w3.org/1999/xhtml' xmlns:th='http://www.thymeleaf.org'><head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <meta http-equiv='X-UA-Compatible' content='IE=EmulateIE7'> <meta name='viewport' content='width=device-width, initial-scale=0.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0'> <meta content='yes' name='apple-mobile-web-app-capable'> <meta content='black' name='apple-mobile-web-app-status-bar-style'> <meta content='telephone=no' name='format-detection'> <title>靜態頁</title> <style type='text/css'> body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background: #f3f3f3; font-family: 'Microsoft YaHei ', '微軟雅黑', 'arial'; } h1 { height: 1px; width: 100%; margin: 10px 0; background: #f1f1f1; } img { width: 100%; height: auto; } .bodys { width: 100%; height: auto; overflow: Hidden; padding-top: 10px; padding-bottom: 50px; background: #fff; } .head { width: 96%; min-height: 30px; padding: 18px 2% 2px 2%; line-height: 25px; text-align: left; font-size: 20px; font-weight: bold; color: #111; } .time { width: 96%; height: 20px; line-height: 20px; font-size: 11px; text-align: left; padding: 0 2%; color: #999; } .info { width: 96%; height: auto; padding: 10px 2%; line-height: 25px; text-align: left; font-size: 15px; } </style></head> <body><div class='bodys'> <div th:text='${bbb.noticeTitle}'>未知</div> <div th:text='${bbb.publishDate}'>未知</div> <h1></h1> <div th:utext='${bbb.noticeContent}'>未知</div></div></body></html>

controller代碼

@RequestMapping(value = '/ceshi', method = RequestMethod.GET) public String getCeishi(“業務邏輯需要的入參”, Model model) { SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss'); JSONObject jsonObject = JSONObject.fromObject(“需要傳到靜態頁的動態數據”); jsonObject.remove('publishDate');//時間,具體作用不清楚,個人猜測是原本數據格式不支持,需要轉換一下,所以要先刪除后重新賦值 jsonObject.put('publishDate', sdf.format(notice.getPublishDate()));//時間重新賦值 model.addAttribute('bbb', jsonObject);//將轉換好的數據存入model中 return 'aaa'; //對應好靜態頁的名稱return出去就可以了 }

以上這篇springboot返回modelandview頁面的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品女主播一区二区三区| 国产免费成人| 视频一区视频二区在线观看| 免费人成黄页网站在线一区二区| 国产91一区| 极品av在线| 美女尤物国产一区| 国产精品久久乐| 日韩精品免费视频人成| 一本一道久久a久久精品蜜桃| 国产精品成人a在线观看| 久久精品99国产国产精| 亚洲精品伊人| 五月亚洲婷婷| 日本欧美一区二区在线观看| 亚洲www免费| 神马日本精品| 久久精品高清| 蜜桃精品在线| 夜夜嗨一区二区三区| 欧美va亚洲va日韩∨a综合色| 日韩不卡视频在线观看| 日韩中文字幕高清在线观看| 国产白浆在线免费观看| 国产精品久久久免费| 久久黄色影视| 国产精品国产三级在线观看| 国产精品最新自拍| 国产91在线播放精品| 中文在线资源| 99香蕉国产精品偷在线观看| 亚洲综合欧美| 国产精东传媒成人av电影| 麻豆精品久久久| 国产精品一区2区3区| 国产96在线亚洲| 久久久一本精品| 欧美日韩精品一区二区视频| 日韩精品一二三四| 最新国产精品视频| 日本不卡视频一二三区| 国产精品久久久久久久久免费高清 | 日本高清不卡一区二区三区视频| 成人黄色av| 久久精品官网| 香蕉久久夜色精品国产| 国产精品一区2区3区| 丁香婷婷久久| 久久亚洲专区| 亚洲人成亚洲精品| 91青青国产在线观看精品| 欧美羞羞视频| 99视频精品免费观看| 日韩一区二区三区四区五区| 首页国产精品| 欧美日韩四区| 日韩一二三区在线观看| а√天堂8资源在线| 午夜欧美在线| 日韩精品视频一区二区三区| 精品久久久久中文字幕小说| 蜜桃视频在线网站| 婷婷综合福利| 国产一区二区亚洲| 99riav1国产精品视频| 亚洲日韩中文字幕一区| 精品三级av| 欧美日韩国产高清| 日本欧美大码aⅴ在线播放| 成人在线视频中文字幕| 亚洲欧美在线综合| 精品久久久中文字幕| 婷婷精品视频| 日韩av黄色在线| 欧美色图国产精品| 日本亚洲欧美天堂免费| 精品国产美女a久久9999| 最新国产拍偷乱拍精品| 电影91久久久| 蜜桃av一区二区三区电影| 国产精品三p一区二区| 福利视频一区| 欧美日韩亚洲国产精品| 伊人精品一区| 国产伦精品一区二区三区千人斩 | 丝瓜av网站精品一区二区| 国产精选一区| 亚洲精品一区二区妖精| 麻豆亚洲精品| 日韩免费av| 日韩影院在线观看| 久久伊人国产| 国产视频一区在线观看一区免费| 日本久久精品| 日韩一区二区三区高清在线观看| 九色porny丨国产首页在线| 亚洲一区日韩| 高清在线一区| 国产精品蜜月aⅴ在线| 天堂久久一区| 三级欧美韩日大片在线看| 影视先锋久久| 国产超碰精品| 国产超碰精品| 人人草在线视频| 麻豆成人在线观看| 日本色综合中文字幕| 亚洲尤物av| 日韩影院免费视频| 在线亚洲国产精品网站| 久久精品高清| 欧美成人综合| 欧洲毛片在线视频免费观看| 国产99久久久国产精品成人免费| 激情亚洲影院在线观看| 色一区二区三区四区| 国产成人免费| 亚洲免费福利| 日韩电影免费网站| 日韩欧美二区| 日韩国产欧美| av亚洲一区二区三区| 日韩在线不卡| 久久影视一区| 女主播福利一区| 午夜在线精品| 亚洲精品伊人| 欧美日本久久| 欧美经典一区| 精品国产三区在线| av资源中文在线| av高清一区| 午夜日本精品| 亚洲精品极品| 国产精品蜜月aⅴ在线| 久久精品国产亚洲aⅴ| 精品国产一区二区三区性色av| 精品免费av一区二区三区| 福利一区二区| 欧美黄色网页| 午夜精品亚洲| 亚洲人成网站在线在线观看| 国产日韩欧美三区| 欧美黑人做爰爽爽爽| 成人在线免费观看网站| 婷婷激情一区| 视频一区欧美日韩| 欧美精品国产一区| 精品久久久网| 亚洲a一区二区三区| 亚洲综合精品四区| 午夜在线精品| 国产日韩免费| 免费观看亚洲| 午夜亚洲福利在线老司机| 日韩高清电影一区| 精品亚洲二区| 亚洲成人免费| 日本三级亚洲精品| 成人在线黄色| 亚洲少妇一区| 国产精品亚洲片在线播放| 六月婷婷综合| 99国产精品视频免费观看一公开| 亚洲精品进入| 国产一区二区三区精品在线观看| 成年男女免费视频网站不卡| 91久久久精品国产| 日本一区二区三区中文字幕| 国产精品极品国产中出| 中国字幕a在线看韩国电影| 欧美粗暴jizz性欧美20| 亚洲精品在线国产| 国产一区二区三区网| 日韩午夜一区| 国产精品啊啊啊| 欧美亚洲国产激情| 日韩高清一级| 免费观看亚洲| 视频国产精品| 欧美日韩精品免费观看视完整| 激情婷婷欧美| 日本午夜精品久久久| 国产盗摄——sm在线视频| 亚洲一区二区三区高清| 国产精品免费不| 欧美日韩三区| 国产麻豆精品| 婷婷综合社区| 麻豆一区二区99久久久久| 五月天久久777| 美女视频免费精品| 亚洲欧美激情诱惑| 国产精品成久久久久| 视频精品一区| 国产91久久精品一区二区| 亚欧洲精品视频在线观看| 色老板在线视频一区二区| 欧美另类中文字幕| 亚洲成av人片一区二区密柚|