电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

SpringBoot如何返回頁面的實現方法

瀏覽:4日期:2023-02-21 15:04:32

SpringBoot中使用Controller和頁面的結合能夠很好地實現用戶的功能及頁面數據的傳遞。但是在返回頁面的時候竟然會出現404或者500的錯誤,我總結了一下如何實現頁面的返回以及這里面所包含的坑。

SpringBoot中對Thymeleaf的集成已經基本完善,但在特殊情況下,并不需要或者不能使用Thymeleaf,所以分成兩種情況對頁面的返回進行闡述。

首先說一下這兩種情況下都會發生的錯誤,也是新手們經常會出現的錯誤。

直接上代碼:

@RestControllerpublic class TestController { @RequestMapping('/') public String index() {return 'index'; }}

這個代碼的初衷是返回index.html頁面,但是執行的結果是在頁面中輸出index。

原因分析:@RestController注解相當于@ResponseBody和@Controller合在一起的作用。在使用@RestController注解Controller時,Controller中的方法無法返回jsp頁面,或者html,配置的視圖解析器 InternalResourceViewResolver不起作用,返回的內容就是Return 里的內容。

包括在Mapping注解使用的同時使用@ResponseBody時也會出現同樣的問題。

解決辦法:①去除@ResponseBody或將含有Rest的注解換成對應的原始注解;

②不通過String返回,通過ModelAndView對象返回,上述例子可將return語句換成下面的句子:

return new ModelAndView('index');

在使用ModelAndView對象返回的時候,不需要考慮有沒有@ResponseBody類似的注解。

還有一個需要注意的點:@RequestMapping中的路徑一定不要和返回的頁面名稱完全相同,這樣會報500的錯誤!!!!

如下面這樣是不行的:

@Controllerpublic class TestController { @RequestMapping('/index') public String idx() {return 'index'; }}1、在不使用模板引擎的情況下:

在不使用模板引擎的情況下,訪問頁面的方法有兩種:

1)將所需要訪問的頁面放在resources/static/文件夾下,這樣就可以直接訪問這個頁面。如:

SpringBoot如何返回頁面的實現方法

在未配置任何東西的情況下可以直接訪問:

SpringBoot如何返回頁面的實現方法

而同樣在resources,但是在templates文件夾下的login.html卻無法訪問:

SpringBoot如何返回頁面的實現方法

2)使用redirect實現頁面的跳轉

示例代碼(在頁面路徑和上面一致的情況下):

@Controllerpublic class TestController { @RequestMapping('/map1') public String index() {return 'redirect:index.html'; } @RequestMapping('/map2') public String map2() {return 'redirect:login.html'; }}

執行結果:

SpringBoot如何返回頁面的實現方法

這說明這種方法也需要將html文件放在static目錄下才能實現頁面的跳轉。

當然還是有終極解決方案來解決這個存放路徑問題的,那就是使用springmvc的配置:

spring: mvc: view: suffix: .html static-path-pattern: /** resources: static-locations: classpath:/templates/,classpath:/static/

這樣配置后,map1和map2都可以訪問到頁面了。

2、使用Thymeleaf模板引擎:

先將所需要的依賴添加至pom.xml

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <version>2.1.6.RELEASE</version></dependency>

同樣的頁面路徑下將controller代碼修改成下面的代碼:

@Controllerpublic class TestController { @RequestMapping('/map1') public String index() {return 'index'; } /** 下面的代碼可以實現和上面代碼一樣的功能 */ /*public ModelAndView index() {return new ModelAndView('index'); }*/ @RequestMapping('map2') public String map2() {return 'login'; }}

執行結果:

SpringBoot如何返回頁面的實現方法

這又說明一個問題,所需要的頁面必須放在templates文件夾下。當然也可以修改,更改配置文件:

spring: thymeleaf: prefix: classpath:/static/ suffix: .html cache: false #關閉緩存

更改prefix對應的值可以改變Thymeleaf所訪問的目錄。但好像只能有一個目錄。

綜上:模板引擎的使用與否都可以實現頁面的訪問。區別在于頁面所存放的位置以及訪問或返回的時候后綴名加不加的問題。

到此這篇關于SpringBoot如何返回頁面的實現方法的文章就介紹到這了,更多相關SpringBoot返回頁面內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 高压油管,液压接头,液压附件-烟台市正诚液压附件 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 上海道勤塑化有限公司| 岩石钻裂机-液压凿岩机-劈裂机-挖改钻_湖南烈岩科技有限公司 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 希望影视-高清影视vip热播电影电视剧免费在线抢先看 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 我爱古诗词_古诗词名句赏析学习平台| 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 广州昊至泉水上乐园设备有限公司 | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 玻璃钢板-玻璃钢防腐瓦-玻璃钢材料-广东壹诺 |