中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC中的跳轉方式和視圖解析器問題怎么解決

發布時間:2022-11-01 09:31:25 來源:億速云 閱讀:168 作者:iii 欄目:開發技術

這篇文章主要介紹“SpringMVC中的跳轉方式和視圖解析器問題怎么解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SpringMVC中的跳轉方式和視圖解析器問題怎么解決”文章能幫助大家解決問題。

一、視圖解析器:

1.springmvc核心配置文件,添加視圖解析器:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

    <!--添加視圖解析器
        視圖解析器作用:
             比如我們要訪問/admin/main.jsp時,傳統頁面跳轉需要輸入完整URI訪問路徑,
             而使用了視圖解析器后,會自動在訪問路徑前后添加配置前綴和配置后綴,
             比如配置了如下前綴和后綴后,我們要訪問/admin/main.jsp,訪問路徑只需要寫main就可以了
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--配置前綴-->
        <property name="prefix" value="/admin/"></property>
        <!--配置后綴-->
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>

2.視圖解析器的使用:

@Controller
public class JumpAction {
    @RequestMapping("/one")
    public String one(){
        System.out.println("請求轉發頁面(默認)");
        return "main";
        //方法返回"main","main"會被視圖解析器添加前后綴,變成/admin/main.jsp,接著訪問該URI對應的頁面。
    }

3、視圖解析器類InternalResourceViewResolver源碼解析:

public class UrlBasedViewResolver extends AbstractCachingViewResolver implements Ordered {
    public static final String REDIRECT_URL_PREFIX = "redirect:";//重定向
    public static final String FORWARD_URL_PREFIX = "forward:";//轉發
    private String prefix = "";//前綴
    private String suffix = "";//后綴
  • 在springmvc核心配置文件中配置視圖解析器,為視圖解析器添加前后綴,實際上是給視圖解析器類InternalResourceViewResolver的成員方法賦值,視圖解析器類會自動為Action類的方法中return的字符串進行拼接,拼接兩個成員方法作為前后綴生成新的URI。

  • 我們注意到視圖解析器類InternalResourceViewResolver還有兩個靜態成員變量,如果Action類的方法中return的字符串包含這兩個值時,視圖解析器類就不再進行前綴后綴的拼接。

二、SpringMVC四種跳轉方式:

  • 請求轉發頁面。

  • 請求轉發action。

  • 重定向頁面。

  • 重定向action。

1.跳轉方式案例:

前端:

<a href="${pageContext.request.contextPath}/one.action" rel="external nofollow" >請求轉發頁面(默認)</a><br>
<a href="${pageContext.request.contextPath}/two.action" rel="external nofollow" >請求轉發action</a><br>
<a href="${pageContext.request.contextPath}/three.action" rel="external nofollow" >重定向頁面</a><br>
<a href="${pageContext.request.contextPath}/four.action" rel="external nofollow" >重定向action</a><br>

后端:

@Controller
public class JumpAction {
    @RequestMapping("/one")
    public String one(){
        System.out.println("請求轉發頁面(默認)");
        //return "main"; //這種訪問方式,默認會調用視圖解析器自動拼接前綴和后綴進行請求轉發頁面跳轉
        return "forward:/fore/user.jsp";//只要使用了forward:就可以屏蔽前綴和后綴的拼接,自己手工構建返回的路徑
    }
    @RequestMapping("/two")
    public String two(){
        System.out.println("請求轉發action");
        return "forward:/other.action";
    }
    @RequestMapping("/three")
    public String three(){
        System.out.println("重定向頁面");
        return "redirect:/admin/main.jsp";//只要使用了redirect:就可以屏蔽前綴和后綴的拼接,自己手工構建返回的路徑
    }
    @RequestMapping("/four")
    public String four(){
        System.out.println("重定向action");
        //觀察地址欄的變化  http://localhost:8080/other.action
        return "redirect:/other.action";
    }
}

關于“SpringMVC中的跳轉方式和視圖解析器問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大英县| 轮台县| 娄烦县| 柏乡县| 宝丰县| 荃湾区| 锡林郭勒盟| 永年县| 交口县| 柏乡县| 伊吾县| 定远县| 荃湾区| 诸城市| 泽州县| 南川市| 图木舒克市| 花垣县| 汽车| 汽车| 巍山| 泰安市| 南江县| 麻江县| 耿马| 花莲县| 乐都县| 景东| 潞西市| 南投市| 银川市| 来宾市| 万载县| 固阳县| 安多县| 肥西县| 鄂伦春自治旗| 扎赉特旗| 巧家县| 泗洪县| 天长市|