一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 使用springmvc配置視圖解析器和重定向方式

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

2022-01-24 00:57當(dāng)你孤單的時候你會想起 Java教程

這篇文章主要介紹了使用springmvc配置視圖解析器和重定向方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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

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

看圖

使用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方法返回字符串表示邏輯視圖名,通過視圖解析器解析為物理視圖地址。 此時默認(rèn)的物理視圖地址為:視圖前綴+返回值+視圖后綴

	/*
	 * 方法返回ModelAndView 方式
	 * ModelAndView
	 * 	Model : 模型,數(shù)據(jù)
	 *  View :視圖
	 * 將需要共享的數(shù)據(jù)也跳轉(zhuǎn)的視圖封裝到ModelAndView對象中,方法直接返回即可
	 *  
	 *  默認(rèn)只能使用請求轉(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)的地址
	 * 
	 * 在方法中注入一個Model 對象,在Model中共享數(shù)據(jù)
	 * 
	 * 默認(rèn)使用請求轉(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";
	}

解決配置視圖解析器帶來的問題

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


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


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

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

	/*
	 * 
	 * 問題1:上述兩種方法默認(rèn)只能進行請求轉(zhuǎn)發(fā)跳轉(zhuǎn),如何進行重定向跳轉(zhuǎn)?
	 * 問題2: 跳轉(zhuǎn)的頁面永遠(yuǎn)只能按照視圖解析的前后綴路徑放,如何頁面放在其他目錄下面也能跳轉(zhuǎn)
	 * 
	 * 解決方案:使用視圖解析器中自定義的頁面跳轉(zhuǎn)功能(使用這種,只適用返回String字符串的方式)
	 *  在返回的字符串前面加上前綴 
	 *  重定向
	 *  	redired:跳轉(zhuǎn)的頁面
	 *  請求轉(zhuǎn)發(fā)
	 *  	forward:要跳轉(zhuǎn)的頁面
	 *  
	 *  	
	 */
	
	//自定義請求轉(zhuǎn)發(fā)頁面(打破默認(rèn)的視圖解析器前后綴規(guī)則跳轉(zhuǎn)的頁面)
	
	@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";
	}

 

配置多個視圖解析器

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)先級別 -->  
      <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)先級別 -->  
      <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
  }
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/weixin_43472934/article/details/108565490

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
主站蜘蛛池模板: 我被黄总征服的全过程 | 亚洲国产精品自在在线观看 | 成全动漫视频在线观看 | 强漂亮白丝女教师小说 | 亚洲天堂男人的天堂 | 亚洲激情 欧美 | chaopeng在线视频进入 | 国产亚洲精品看片在线观看 | 亚洲视频一区二区在线观看 | 免费看国产一级片 | 日本黄色一区 | 美女扒开尿口让男生添 漫画 | 性派对videos18party | 国产精品成人自拍 | 荡女人人爱全文免费阅读 | 精品国产区| 久久久这里有精品999 | 亚洲日本久久一区二区va | 啊好痛嗯轻一点免费 | 久久精品国产在热亚洲完整版 | 美女扒开腿让男生桶爽漫画 | 成人18视频在线观看 | 天堂网在线.www天堂在线视频 | voyeur 中国女厕 亚洲女厕 | 国产haodiaose最新 | 处女摘花| 91视频国产自拍 | yy3341殇情影院理论片 | 亚洲+欧美+国产+综合 | 日本午夜色 | 先锋资源av | 日本老妇人乱视频 | 艾秋麻豆果冻传媒老狼仙踪林 | 天天做天天爽 | 天天爱天天插 | 欧美一级片免费看 | 午夜AV内射一区二区三区红桃视 | 天天舔天天射 | 久久久久九九 | 超级乱淫伦小说1女多男 | 久久 这里只精品 免费 |