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

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

springboot返回modelandview頁面的實例

瀏覽:39日期: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久久,三上悠亚国产精品一区二区三区
婷婷综合六月| 亚洲欧洲日韩精品在线| 一区在线视频观看| 精品久久精品| 免费不卡在线视频| 午夜国产精品视频免费体验区| 欧产日产国产精品视频| 国产福利一区二区精品秒拍| 国产一级成人av| 宅男在线一区| 日韩综合精品| 成人va天堂| 精品免费视频| 国产免费av国片精品草莓男男| 日韩av一区二区在线影视| 合欧美一区二区三区| 欧美高清不卡| 狠狠干综合网| 五月精品视频| 国产亚洲一区在线| 国产综合激情| 激情欧美国产欧美| 黑人精品一区| 美女国产精品久久久| 综合一区av| 麻豆亚洲精品| 视频精品一区二区| 亚洲神马久久| 久久99伊人| 亚洲精品大片| 亚州精品视频| 人人爱人人干婷婷丁香亚洲| 中文无码日韩欧| 影音先锋久久精品| 九九综合九九| 日韩一级不卡| 视频一区中文字幕国产| 性色一区二区| 日韩在线观看中文字幕| 国产视频久久| 视频一区国产视频| 日韩精品国产欧美| 欧美亚洲一区二区三区| 久久97视频| 国产一区二区精品福利地址| 日韩一区电影| 日韩毛片在线| 在线精品视频在线观看高清| 91精品二区| 免费视频久久| 丝袜亚洲精品中文字幕一区| 蜜臀av一区二区三区| 亚洲免费观看高清完整版在线观| 日本电影久久久| 青青伊人久久| 久久中文字幕导航| 香蕉成人av| 欧美专区一区二区三区| 欧美日韩a区| 国产拍在线视频| 亚洲国产日韩欧美在线| 蜜桃av一区二区| 日韩精品第二页| 久久香蕉网站| 亚洲午夜电影| 一区二区电影在线观看| 欧美日韩伊人| 成人精品高清在线视频| 色老板在线视频一区二区| 色爱综合av| 免费精品视频最新在线| 日本欧美一区| 国产盗摄——sm在线视频| 欧美午夜精品一区二区三区电影| 日本久久二区| 久久久久免费| 亚洲尤物在线| 麻豆精品一区二区综合av| 亚洲欧美一区在线| 欧美激情aⅴ一区二区三区| 99久久亚洲精品蜜臀| 欧美日一区二区三区在线观看国产免 | 欧美一区不卡| 日韩精品国产欧美| 久久精品国产在热久久| 国内精品福利| 国产欧美日韩免费观看| 久久国产精品成人免费观看的软件| 亚洲欧洲美洲国产香蕉| 日本一区二区高清不卡| 天堂精品久久久久| 免费观看不卡av| 麻豆国产91在线播放| 亚洲免费影院| 欧美sm一区| 国产精品115| 色狠狠一区二区三区| 91九色精品国产一区二区| 97精品一区| 欧美精品不卡| 日韩精品久久理论片| 六月婷婷一区| 欧美精品一区二区久久| 日韩在线观看一区| 精品视频一区二区三区四区五区| 日韩高清电影一区| 午夜在线精品偷拍| 黄色日韩精品| 久久久久久夜| 国产一区二区精品福利地址| 日韩精品免费视频人成| 亚洲特级毛片| 国产欧美另类| 日本一二区不卡| 国产亚洲电影| 亚洲日本国产| 国产精品国产三级国产在线观看| 国产精品xvideos88| 欧美三级网址| 成人在线免费观看网站| 久久一区二区三区喷水| 中文字幕免费一区二区| 激情综合五月| 日本电影久久久| 999精品色在线播放| 国产一区二区三区91| 亚洲欧美日本国产专区一区| 免费在线亚洲欧美| 国产精品女主播一区二区三区| 久久久久九九精品影院| 久久麻豆精品| 首页亚洲欧美制服丝腿| 狠狠色狠狠色综合日日tαg| 欧美亚洲综合视频| 亚洲va久久久噜噜噜久久| 蜜臀va亚洲va欧美va天堂| 国产精品115| 日韩综合精品| 99精品网站| 亚洲韩日在线| 国产精品男女| 99热国内精品| 1000部精品久久久久久久久| 视频精品一区二区| 国产精品尤物| 影音先锋久久| 亚洲日本久久| 日韩不卡免费高清视频| 国产欧美日韩免费观看| 久久中文精品| 久久亚洲影院| 日韩视频一区| 久久国产电影| 国产午夜久久av| 国产精品久久久久久模特| 91九色综合| 久久国产小视频| 日韩二区三区在线观看| 国产精品久久久久久久久久白浆 | 视频一区中文字幕精品| 久久久亚洲欧洲日产| 国产一区91| 亚洲欧洲日韩| 99久久久久| 精品久久99| 免费一级片91| 欧美日韩99| 国内精品福利| 国产精品1luya在线播放| 美女av在线免费看| 免费在线成人| 亚洲精品中文字幕99999| 天堂网av成人| 中文字幕亚洲精品乱码| 免费污视频在线一区| 日韩在线播放一区二区| 蜜桃视频在线观看一区| 蜜桃国内精品久久久久软件9| 特黄特色欧美大片| 综合激情婷婷| 久热re这里精品视频在线6| 激情久久久久久久| 热三久草你在线| 亚洲综合丁香| 久久国产欧美| 精品国产乱码久久久| 欧美成人一二区| 欧美日韩国产一区二区三区不卡 | 国产高清不卡| 成人午夜网址| 日韩不卡在线观看日韩不卡视频| 国产在线|日韩| 欧美日韩尤物久久| 日韩一区二区三区免费| 激情黄产视频在线免费观看| 欧美日韩一区自拍| 国产综合欧美| 亚洲欧洲一区二区天堂久久| 久久久水蜜桃av免费网站| 日本h片久久|