欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解SpringMVC中的四種跳轉(zhuǎn)方式、視圖解析器問(wèn)題

 更新時(shí)間:2022年10月30日 14:44:24   作者:姓蔡小朋友  
這篇文章主要介紹了SpringMVC的四種跳轉(zhuǎn)方式、視圖解析器,springmvc核心配置文件和視圖解析器的使用,添加視圖解析器,通過(guò)案例講解四種跳轉(zhuǎn)方式,需要的朋友可以參考下

一、視圖解析器:

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">

    <!--添加視圖解析器
        視圖解析器作用:
             比如我們要訪問(wèn)/admin/main.jsp時(shí),傳統(tǒng)頁(yè)面跳轉(zhuǎn)需要輸入完整URI訪問(wèn)路徑,
             而使用了視圖解析器后,會(huì)自動(dòng)在訪問(wèn)路徑前后添加配置前綴和配置后綴,
             比如配置了如下前綴和后綴后,我們要訪問(wèn)/admin/main.jsp,訪問(wèn)路徑只需要寫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("請(qǐng)求轉(zhuǎn)發(fā)頁(yè)面(默認(rèn))");
        return "main";
        //方法返回"main","main"會(huì)被視圖解析器添加前后綴,變成/admin/main.jsp,接著訪問(wèn)該URI對(duì)應(yīng)的頁(yè)面。
    }

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:";//轉(zhuǎn)發(fā)
    private String prefix = "";//前綴
    private String suffix = "";//后綴
  • 在springmvc核心配置文件中配置視圖解析器,為視圖解析器添加前后綴,實(shí)際上是給視圖解析器類InternalResourceViewResolver的成員方法賦值,視圖解析器類會(huì)自動(dòng)為Action類的方法中return的字符串進(jìn)行拼接,拼接兩個(gè)成員方法作為前后綴生成新的URI。
  • 我們注意到視圖解析器類InternalResourceViewResolver還有兩個(gè)靜態(tài)成員變量,如果Action類的方法中return的字符串包含這兩個(gè)值時(shí),視圖解析器類就不再進(jìn)行前綴后綴的拼接。

二、SpringMVC四種跳轉(zhuǎn)方式:

  • 請(qǐng)求轉(zhuǎn)發(fā)頁(yè)面。
  • 請(qǐng)求轉(zhuǎn)發(fā)action。
  • 重定向頁(yè)面。
  • 重定向action。

1.跳轉(zhuǎn)方式案例:

前端:

<a href="${pageContext.request.contextPath}/one.action" rel="external nofollow" >請(qǐng)求轉(zhuǎn)發(fā)頁(yè)面(默認(rèn))</a><br>
<a href="${pageContext.request.contextPath}/two.action" rel="external nofollow" >請(qǐng)求轉(zhuǎn)發(fā)action</a><br>
<a href="${pageContext.request.contextPath}/three.action" rel="external nofollow" >重定向頁(yè)面</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("請(qǐng)求轉(zhuǎn)發(fā)頁(yè)面(默認(rèn))");
        //return "main"; //這種訪問(wèn)方式,默認(rèn)會(huì)調(diào)用視圖解析器自動(dòng)拼接前綴和后綴進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)頁(yè)面跳轉(zhuǎn)
        return "forward:/fore/user.jsp";//只要使用了forward:就可以屏蔽前綴和后綴的拼接,自己手工構(gòu)建返回的路徑
    }
    @RequestMapping("/two")
    public String two(){
        System.out.println("請(qǐng)求轉(zhuǎn)發(fā)action");
        return "forward:/other.action";
    }
    @RequestMapping("/three")
    public String three(){
        System.out.println("重定向頁(yè)面");
        return "redirect:/admin/main.jsp";//只要使用了redirect:就可以屏蔽前綴和后綴的拼接,自己手工構(gòu)建返回的路徑
    }
    @RequestMapping("/four")
    public String four(){
        System.out.println("重定向action");
        //觀察地址欄的變化  http://localhost:8080/other.action
        return "redirect:/other.action";
    }
}

到此這篇關(guān)于SpringMVC的四種跳轉(zhuǎn)方式、視圖解析器的文章就介紹到這了,更多相關(guān)SpringMVC跳轉(zhuǎn)方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解DES加密算法的原理與Java實(shí)現(xiàn)

    詳解DES加密算法的原理與Java實(shí)現(xiàn)

    DES 加密,是對(duì)稱加密。對(duì)稱加密,顧名思義,加密和解密的運(yùn)算全都是使用的同樣的秘鑰。這篇文章主要為大家講講DES加密算法的原理與Java實(shí)現(xiàn),需要的可以參考一下
    2022-10-10
  • Springboot單元測(cè)試無(wú)法讀取配置文件的解決方案

    Springboot單元測(cè)試無(wú)法讀取配置文件的解決方案

    這篇文章主要介紹了Springboot單元測(cè)試無(wú)法讀取配置文件的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringCloud 如何提取公共配置

    SpringCloud 如何提取公共配置

    這篇文章主要介紹了SpringCloud 提取公共配置的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java 中線程等待與通知的實(shí)現(xiàn)

    java 中線程等待與通知的實(shí)現(xiàn)

    這篇文章主要介紹了java 中線程等待與通知的實(shí)現(xiàn)的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這樣的功能,需要的朋友可以參考下
    2017-09-09
  • Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    這篇文章主要介紹了Java的面相對(duì)象編程思想,包括類對(duì)象方法和封裝繼承多態(tài)等各個(gè)方面的OOP基本要素,非常推薦,需要的朋友可以參考下,希望可以對(duì)你有所幫助
    2021-07-07
  • lombok注解@Data使用在繼承類上時(shí)出現(xiàn)警告的問(wèn)題及解決

    lombok注解@Data使用在繼承類上時(shí)出現(xiàn)警告的問(wèn)題及解決

    Lombok的@Data注解簡(jiǎn)化了實(shí)體類代碼,但在子類中使用時(shí)會(huì)出現(xiàn)警告,指出equals和hashCode方法不會(huì)考慮父類屬性,解決方法有兩種:一是在父類上使用@EqualsAndHashCode(callSuper=true)注解;二是通過(guò)配置lombok.config文件,均能有效解決警告問(wèn)題
    2024-10-10
  • 詳解SpringBoot可執(zhí)行Jar包運(yùn)行原理

    詳解SpringBoot可執(zhí)行Jar包運(yùn)行原理

    SpringBoot有一個(gè)很方便的功能就是可以將應(yīng)用打成可執(zhí)行的Jar,那么大家有沒(méi)想過(guò)這個(gè)Jar是怎么運(yùn)行起來(lái)的呢,本篇博客就來(lái)介紹下 SpringBoot可執(zhí)行Jar包的運(yùn)行原理,需要的朋友可以參考下
    2023-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)之快速冪的實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之快速冪的實(shí)現(xiàn)

    快速冪是用來(lái)解決求冪運(yùn)算的高效方式。本文將詳細(xì)為大家介紹如何利用Java實(shí)現(xiàn)快速冪,以及利用快速冪求解冪運(yùn)算問(wèn)題,需要的可以參考一下
    2022-03-03
  • Java中String.format的使用方法總結(jié)

    Java中String.format的使用方法總結(jié)

    這篇文章主要介紹了Java中String.format的用法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Mybatis批量更新對(duì)象數(shù)據(jù)的兩種實(shí)現(xiàn)方式

    Mybatis批量更新對(duì)象數(shù)據(jù)的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了Mybatis批量更新對(duì)象數(shù)據(jù)的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評(píng)論