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

使用springmvc配置視圖解析器和重定向方式

 更新時(shí)間:2021年09月29日 11:20:15   作者:當(dāng)你孤單的時(shí)候你會(huì)想起誰(shuí)  
這篇文章主要介紹了使用springmvc配置視圖解析器和重定向方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springmvc配置視圖解析器和重定向

為什么需要配置視圖解析器

看圖

配置步驟

第一步:需要在springmvc.xml配置

<!-- 配置SpringMVC的視圖解析器: 配置前綴和后綴 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- 配置視圖跳轉(zhuǎn)的前綴 -->
		<property name="prefix" value="/WEB-INF/view/"/>
		<!-- 配置視圖跳轉(zhuǎn)的后綴 -->
		<property name="suffix" value=".jsp"/>
	</bean>

第二步:配置視圖解析器后的controller代碼 Controller方法返回字符串表示邏輯視圖名,通過(guò)視圖解析器解析為物理視圖地址。 此時(shí)默認(rèn)的物理視圖地址為:視圖前綴+返回值+視圖后綴

	/*
	 * 方法返回ModelAndView 方式
	 * ModelAndView
	 * 	Model : 模型,數(shù)據(jù)
	 *  View :視圖
	 * 將需要共享的數(shù)據(jù)也跳轉(zhuǎn)的視圖封裝到ModelAndView對(duì)象中,方法直接返回即可
	 *  
	 *  默認(rèn)只能使用請(qǐng)求轉(zhuǎn)發(fā)
	 */
	@RequestMapping("/method2")
	public ModelAndView method2() {
		
		ModelAndView mv = new ModelAndView();
		//共享數(shù)據(jù)
		mv.addObject("username", "莉莉");
		//設(shè)置視圖地址
		//配置視圖解析器前后綴之前
		//mv.setViewName("/WEB-INF/view/hello.jsp");
		//配置視圖解析器前后綴之后
		mv.setViewName("hello");
		
		return mv;
	}
	/*
	 * 方法返回String 字符串方式
	 * 
	 * 方法返回的字符就是要跳轉(zhuǎn)的地址
	 * 
	 * 在方法中注入一個(gè)Model 對(duì)象,在Model中共享數(shù)據(jù)
	 * 
	 * 默認(rèn)使用請(qǐng)求轉(zhuǎn)發(fā)
	 */
	@RequestMapping("/method3")
	public String method3(Model m) {
		System.out.println(m.getClass().getName());
		//共享數(shù)據(jù)
		m.addAttribute("username", "吉姆");
		//配置視圖解析器前后綴之前
		//return "/WEB-INF/view/response.jsp";
		//配置視圖解析器前后綴之后
		return "response";
	}

解決配置視圖解析器帶來(lái)的問(wèn)題

如果直接使用視圖解析器的配置開(kāi)發(fā),那么必須保證視圖解析器前綴目錄下面有對(duì)應(yīng)的頁(yè)面文件才能跳轉(zhuǎn),否則報(bào)錯(cuò)


默認(rèn)頁(yè)面跳轉(zhuǎn)也只能使用請(qǐng)求轉(zhuǎn)發(fā)跳轉(zhuǎn),不能使用重定向


需要解決問(wèn)題: 除了使用視圖解析器對(duì)應(yīng)規(guī)則的開(kāi)發(fā),用戶還得自定義跳轉(zhuǎn)方式,和自定義跳轉(zhuǎn)頁(yè)面 方案: 使用視圖解析器的 請(qǐng)求轉(zhuǎn)發(fā)和重定向配置,可以打破默認(rèn)的規(guī)則

public static final String REDIRECT_URL_PREFIX = "redirect:"; public static final String FORWARD_URL_PREFIX = "forward:";

	/*
	 * 
	 * 問(wèn)題1:上述兩種方法默認(rèn)只能進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)跳轉(zhuǎn),如何進(jìn)行重定向跳轉(zhuǎn)?
	 * 問(wèn)題2: 跳轉(zhuǎn)的頁(yè)面永遠(yuǎn)只能按照視圖解析的前后綴路徑放,如何頁(yè)面放在其他目錄下面也能跳轉(zhuǎn)
	 * 
	 * 解決方案:使用視圖解析器中自定義的頁(yè)面跳轉(zhuǎn)功能(使用這種,只適用返回String字符串的方式)
	 *  在返回的字符串前面加上前綴 
	 *  重定向
	 *  	redired:跳轉(zhuǎn)的頁(yè)面
	 *  請(qǐng)求轉(zhuǎn)發(fā)
	 *  	forward:要跳轉(zhuǎn)的頁(yè)面
	 *  
	 *  	
	 */
	
	//自定義請(qǐng)求轉(zhuǎn)發(fā)頁(yè)面(打破默認(rèn)的視圖解析器前后綴規(guī)則跳轉(zhuǎn)的頁(yè)面)
	
	@RequestMapping("/method4")
	public String method4(Model m) {
		m.addAttribute("username", "韓梅梅");
		return "forward:/WEB-INF/user_list.jsp";
	}

重定向

	//自定義重定向
	@RequestMapping("/method5")
	public String method5() {
		return "redirect:http://www.jd.com";
	}

配置多個(gè)視圖解析器

springmvc

<!-- jsp -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
        <property name="viewNames" value="*"/>
        <!-- 模板優(yōu)先級(jí)別 -->  
        <property name="order" value="1"></property>
    </bean>
    <!-- html -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/html/" />
        <property name="suffix" value=".html" />
        <property name="viewNames" value="html*"/>
        <!-- 模板優(yōu)先級(jí)別 -->  
        <property name="order" value="0"></property>
    </bean>

controller

@Controller
@Scope("prototype")
@RequestMapping("/viewResolver")
public class ViewResolverController {
    @RequestMapping("/t1")
    public String t1() {
        return "index";// webinfo/jsp/index
    }
    @RequestMapping("/t2")
    public String t2() {
        return "htmlindex";// webinfo/html/index
    }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java基礎(chǔ)題新手練習(xí)(二)

    Java基礎(chǔ)題新手練習(xí)(二)

    下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你
    2021-07-07
  • Spring Boot 單元測(cè)試和集成測(cè)試實(shí)現(xiàn)詳解

    Spring Boot 單元測(cè)試和集成測(cè)試實(shí)現(xiàn)詳解

    這篇文章主要介紹了Spring Boot 單元測(cè)試和集成測(cè)試實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 解決@Scope(“prototype“)不生效的問(wèn)題

    解決@Scope(“prototype“)不生效的問(wèn)題

    這篇文章主要介紹了解決@Scope(“prototype“)不生效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 談?wù)勎覍?duì)Spring Bean 生命周期的理解

    談?wù)勎覍?duì)Spring Bean 生命周期的理解

    Spring Bean 的生命周期在整個(gè) Spring 中占有很重要的位置,掌握這些可以加深對(duì) Spring 的理解。這篇文章主要介紹了Spring Bean 生命周期,需要的朋友可以參考下
    2018-03-03
  • 淺析java程序中hibernate的應(yīng)用總結(jié)

    淺析java程序中hibernate的應(yīng)用總結(jié)

    hibernate可以理解為是一個(gè)中間件它負(fù)責(zé)把java程序的sql語(yǔ)句接收過(guò)來(lái)發(fā)送到數(shù)據(jù)庫(kù),而數(shù)據(jù)庫(kù)返回來(lái)的信息hibernate接收之后直接生成一個(gè)對(duì)象傳給java
    2013-07-07
  • Java靜態(tài)代理與動(dòng)態(tài)代理案例詳解

    Java靜態(tài)代理與動(dòng)態(tài)代理案例詳解

    這篇文章主要介紹了Java靜態(tài)代理與動(dòng)態(tài)代理案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Java MyBatis框架環(huán)境搭建詳解

    Java MyBatis框架環(huán)境搭建詳解

    MyBatis本是apache的一個(gè)開(kāi)源項(xiàng)目iBatis,MyBatis環(huán)境的搭建有點(diǎn)麻煩,本章帶你了解搭建過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2022-08-08
  • Mybatis動(dòng)態(tài)SQL的示例代碼

    Mybatis動(dòng)態(tài)SQL的示例代碼

    本文主要介紹了Mybatis動(dòng)態(tài)SQL的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Springboot2 配置AOP日志的方法步驟

    Springboot2 配置AOP日志的方法步驟

    這篇文章主要介紹了Springboot2 配置AOP日志的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • JAVA IO API使用詳解

    JAVA IO API使用詳解

    本文通過(guò)理論、用法、實(shí)例詳細(xì)說(shuō)明了JAVA IO的使用,大家參考其中的實(shí)例代碼實(shí)現(xiàn)自己的JAVA IO程序
    2013-11-11

最新評(píng)論

文成县| 金坛市| 永川市| 汽车| 石景山区| 固镇县| 望谟县| 太和县| 宁阳县| 华阴市| 凤凰县| 寿光市| 冕宁县| 吴桥县| 荥经县| 长海县| 巴南区| 天台县| 休宁县| 革吉县| 武夷山市| 连江县| 水富县| 彩票| 定兴县| 慈利县| 称多县| 新郑市| 黄龙县| 盐边县| 湖口县| 克山县| 环江| 大兴区| 黑山县| 江油市| 资源县| 南昌市| 板桥市| 开远市| 徐州市|