最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot無法跳轉(zhuǎn)頁面的問題解決方案

 更新時間:2019年09月29日 11:29:41   作者:旅途醫(yī)生  
這篇文章主要介紹了springboot無法跳轉(zhuǎn)頁面的問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

首先我登錄頁面直接通過瀏覽器請求直接訪問的,項目結(jié)構(gòu)如圖所示

登錄頁面

<form action="index" id="frm">
  <input type="text" name="dname">
  <input type="text" name="loc">
  <input type="button" value="提交" id="but" ></form>
<script src="js/jquery-1.12.2.js"></script>
<script>
  $(function () {
    $("#but").click(function(){
      var data = $("#frm").serialize();
      $.get("index",data);
    })
  })
</script>

點擊提交后,是一個ajax發(fā)送表單里面的數(shù)據(jù),請求地址為index,會去數(shù)據(jù)庫里面查詢是否有這個人(后端采用mybatis去數(shù)據(jù)庫查詢),根據(jù)返回的結(jié)果,跳到相應(yīng)的頁面去,我在controller里面寫的index請求的java代碼為:

//  登錄
  @GetMapping("index")
  public String addDept(Dept dept) {
    log.info("dept===" + dept);
    List<Dept> depts = deptService.selectDept(dept);
    if (depts != null) {
      return "index";
    } else {
      return "error";
    }
  }

意外的事情出現(xiàn)了,有查詢結(jié)果出來,而且也進入了if判斷,但就是沒有跳轉(zhuǎn)頁面,這個問題困惑了許久,一直沒想到問題出現(xiàn)在哪里,百度了很多,其中百度給的結(jié)果有以下幾點:

注解使用@Controller 而不是@RestController,因為使用@RestController會返回“index”字符串
首先在pom文件中引入模板引擎jar包,即:

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

在application.properties中配置模板引擎

spring.thymeleaf.prefix=classpath:/templates/

不加@responseBody注解,因為加了之后會返回一個字符串的形式;
以上的這些坑,我都試了,最后還是沒有失敗,但是我直接在瀏覽器上輸入index請求,會跳轉(zhuǎn)到index.html的頁面上面去,我就很納悶了,還是不知道我的問題出現(xiàn)在哪里

我的index.html的頁面如下,用ajax請求,調(diào)用去數(shù)據(jù)庫查詢所有人的請求,代碼如下:

index頁面
<script src="../js/jquery-1.12.2.js"></script>
<script>
  selectDept()
  function selectDept() {
    $.get("getDept",callSelectDept,"JSON")
    function callSelectDept(data) {
      var str=""
      for (var i =0;i<data.length;i++){
        str+=data[i].deptno+"---"+data[i].dname+"---"+data[i].loc+
          "<a href=deleteDept?deptno='"+data[i].deptno+"'>刪除</a>"+
          "<a href=updateDept?deptno='"+data[i].deptno+"'>修改</a>"
          +"<br/>"
      }
      $("#queryDept").append(str)
    }
  }

當(dāng)通過瀏覽器訪問index.html后,會顯示出來數(shù)據(jù),這里是沒有問題的

后來過了一段時間吧,才想起來是不是ajax請求調(diào)用方法后,在java后端發(fā)送跳轉(zhuǎn)頁面請求后,不能跳轉(zhuǎn)頁面,因為ajax默認是異步請求嘛.代碼如下

$.ajax({
        asyn:false,
        url:"index",
        type:"get",
        data:data
      })

后來將ajax請求改為同步之后,還是失敗,最后,將提交表單的方式改為summit,成功!!!

 <form action="index" id="frm">
   <input type="text" name="dname">
   <input type="text" name="loc">
   <input type="submit" value="提交" ></form>

總結(jié):ajax請求最好只用于發(fā)送數(shù)據(jù),和從后端拿數(shù)據(jù),不要做跳轉(zhuǎn)頁面的...如果一定要做頁面的跳轉(zhuǎn),可以約定后端放回的數(shù)據(jù)為1或0,當(dāng)返回的數(shù)據(jù)為1時,用Windows.location.href="index.html" rel="external nofollow" rel="external nofollow" 來跳轉(zhuǎn)

具體代碼如下:

function callback(dat){
       if (dat=1){
          window.location.href="index.html" rel="external nofollow" rel="external nofollow" 
        }else {
          alert("1")
        }

否則就用submit提交,記住了,ajax用于發(fā)送請求到那個方法后,后端是跳轉(zhuǎn)不了頁面的,也不會報錯,因為ajax用于默認是異步請求,如果要跳就在前端跳轉(zhuǎn)頁面也是可以的

這個坑記錄下來,為后來的你們給與一些建議!!!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java enum的用法詳細介紹及實例代碼

    Java enum的用法詳細介紹及實例代碼

    這篇文章主要介紹了Java enum的用法詳細介紹及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Spring-Boot 集成Solr客戶端的詳細步驟

    Spring-Boot 集成Solr客戶端的詳細步驟

    本篇文章主要介紹了Spring-Boot 集成Solr客戶端的詳細步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java利用完全二叉樹創(chuàng)建大根堆和小根堆

    Java利用完全二叉樹創(chuàng)建大根堆和小根堆

    大根堆是每個結(jié)點的值不大于他的父親結(jié)點的值;小根堆是每個結(jié)點的值不小于他的父親結(jié)點的值。本文將利用完全二叉樹創(chuàng)建大根堆和小根堆,感興趣的可以了解一下
    2022-08-08
  • Java實現(xiàn)批量查找與替換Excel文本的思路詳解

    Java實現(xiàn)批量查找與替換Excel文本的思路詳解

    在 Java 中,可以通過find和replace的方法來查找和替換單元格的數(shù)據(jù),下面小編將以Excel文件為例為大家介紹如何實現(xiàn)Excel文件內(nèi)容的批量替換,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 關(guān)于Java限流功能的簡單實現(xiàn)

    關(guān)于Java限流功能的簡單實現(xiàn)

    這篇文章主要介紹了關(guān)于Java限流功能的簡單實現(xiàn),在Java中,限流是一種常見的技術(shù)手段,用于控制系統(tǒng)的訪問速率,以保護系統(tǒng)免受過載和濫用,需要的朋友可以參考下
    2023-07-07
  • 一文搞懂Java的ThreadPoolExecutor原理

    一文搞懂Java的ThreadPoolExecutor原理

    都說經(jīng)典的就是好的,這句話放在Java的ThreadPoolExecutor上那是一點都沒錯,像現(xiàn)在數(shù)據(jù)庫連接的池化實現(xiàn),或者像Tomcat這種WEB服務(wù)器的線程管理,處處都有著ThreadPoolExecutor的影子,本篇文章將結(jié)合源碼實現(xiàn),對ThreadPoolExecutor的原理進行一個深入學(xué)習(xí)
    2023-06-06
  • MyBatis-Plus實現(xiàn)字段自動填充功能的示例

    MyBatis-Plus實現(xiàn)字段自動填充功能的示例

    本文主要介紹了MyBatis-Plus實現(xiàn)字段自動填充功能的示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java工具類static靜態(tài)方法讀取yml配置過程

    java工具類static靜態(tài)方法讀取yml配置過程

    文章介紹了在工具類中獲取YAML配置時遇到的問題,由于變量是靜態(tài)的,而Spring加載靜態(tài)方法比IOC容器早,導(dǎo)致無法直接使用@Value注解讀取YAML配置,從而讀取結(jié)果為null
    2024-11-11
  • 簡單了解Spring Boot及idea整合jsp過程解析

    簡單了解Spring Boot及idea整合jsp過程解析

    這篇文章主要介紹了簡單了解Spring Boot及idea整合jsp過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Spring Boot加密配置文件方法介紹

    Spring Boot加密配置文件方法介紹

    這篇文章主要介紹了SpringBoot加密配置文件,近期在對開發(fā)框架安全策略方面進行升級優(yōu)化,提供一些通用場景的解決方案,本文針對配置文件加密進行簡單的分享
    2023-01-01

最新評論

湾仔区| 石嘴山市| 屯留县| 五指山市| 靖远县| 同心县| 昌邑市| 巧家县| 太谷县| 高淳县| 手游| 淮南市| 普洱| 永吉县| 丹棱县| 西乡县| 克拉玛依市| 隆化县| 永修县| 固始县| 西华县| 广丰县| 通渭县| 达拉特旗| 镶黄旗| 武威市| 汝南县| 全椒县| 阳西县| 临泉县| 崇信县| 宁河县| 兴安县| 海安县| 大足县| 河津市| 公安县| 连云港市| 太白县| 昔阳县| 昌宁县|