欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

第四章 Controller接口控制器詳解 (4)——跟

系統 2266 0

?

4.12、ParameterizableViewController

參數化視圖控制器,不進行功能處理(即靜態視圖),根據參數的邏輯視圖名直接選擇需要展示的視圖。

Java代碼?? ?
  1. <bean?name="/parameterizableView"??
  2. class="org.springframework.web.servlet.mvc.ParameterizableViewController">??
  3. <property?name="viewName"?value="success"/>??
  4. </bean>??

該控制器接收到請求后直接選擇參數化的視圖,這樣的好處是在配置文件中配置,從而避免程序的硬編碼,比如像幫助頁面等不需要進行功能處理,因此直接使用該控制器映射到視圖。

4.13、AbstractUrlViewController

提供根據請求URL路徑直接轉化為邏輯視圖名的支持基類,即不需要功能處理,直接根據URL計算出邏輯視圖名,并選擇具體視圖進行展示:

urlDecode 是否進行url解碼,不指定則默認使用服務器編碼進行解碼(如Tomcat默認ISO-8859-1);

urlPathHelper 用于解析請求路徑的工具類,默認為org.springframework.web.util.UrlPathHelper。

?

UrlFilenameViewController是它的一個實現者,因此我們應該使用UrlFilenameViewController。

?

4.14、UrlFilenameViewController

將請求的URL路徑轉換為邏輯視圖名并返回的轉換控制器,即不需要功能處理,直接根據URL計算出邏輯視圖名,并選擇具體視圖進行展示:

?

根據請求URL路徑計算邏輯視圖名;

?

Java代碼?? ?
  1. <bean?name="/index1/*"???
  2. class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>??
  3. <bean?name="/index2/**"???
  4. class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>??
  5. <bean?name="/*.html"???
  6. class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>??
  7. <bean?name="/index3/*.html"???
  8. class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>??

/index1/* 可以匹配/index1/demo,但不匹配/index1/demo/demo,如/index1/demo邏輯視圖名為demo;

/index2/** 可以匹配/index2路徑下的所有子路徑,如匹配/index2/demo,或/index2/demo/demo,“/index2/demo”的邏輯視圖名為demo,而“/index2/demo/demo”邏輯視圖名為demo/demo;

/*.html 可以匹配如/abc.html,邏輯視圖名為abc,后綴會被刪除(不僅僅可以是html);

/index3/*.html 可以匹配/index3/abc.html,邏輯視圖名也是abc;

?

上述模式為Spring Web MVC使用的Ant-style?模式進行匹配的:

?

Java代碼?? ?
  1. ?????匹配一個字符,如/index??可以匹配?/index1?,?但不能匹配?/index?或?/index12??
  2. *????匹配零個或多個字符,如/index1/*,可以匹配/index1/demo,但不匹配/index1/demo/demo?
  3. **???匹配零個或多個路徑,如/index2/**:可以匹配/index2路徑下的所有子路徑,如匹配/index2/demo,或/index2/demo/demo?
  4. ?
  5. 如果我有如下模式,那Spring該選擇哪一個執行呢?當我的請求為“/long/long”時如下所示:?
  6. /long/long?
  7. /long/**/abc??
  8. /long/**?
  9. /**?
  10. Spring的AbstractUrlHandlerMapping使用:最長匹配優先;?
  11. 如請求為“/long/long”?將匹配第一個“/long/long”,但請求“/long/acd”?則將匹配?“/long/**”,如請求“/long/aa/abc”則匹配“/long/**/abc”,如請求“/abc”則將匹配“/**”??

UrlFilenameViewController還提供了如下屬性:

prefix 生成邏輯視圖名的前綴;

suffix 生成邏輯視圖名的后綴;

Java代碼?? ?
  1. protected?String?postProcessViewName(String?viewName)?{??
  2. ????????return?getPrefix()?+?viewName?+?getSuffix();??
  3. }??
Java代碼?? ?
  1. <bean?name="/*.htm"?class="org.springframework.web.servlet.mvc.UrlFilenameViewController">??
  2. ????????<property?name="prefix"?value="test"/>??
  3. ????????<property?name="suffix"?value="test"/>??
  4. </bean>??

prefix= “test ”,suffix= “test ,如上所示的 /*.htm 可以匹配如/abc.htm,但邏輯視圖名將變為testabctest。

?

私塾在線學習網 原創內容( http://sishuok.com

原創內容,轉載請注明私塾在線【 http://sishuok.com/forum/blogPost/list/5498.html

?

?

第四章 Controller接口控制器詳解 (4)——跟著開濤學SpringMVC


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产高清在线看 | 亚洲天堂中文字幕 | 欧美精品成人a多人在线观看 | 国产一区二区久久 | 欧美日本高清视频 | 久久成人免费观看草草影院 | 天天操天天射天天爽 | 午夜影视网 | 欧美在线亚洲 | 麻豆精品传媒一二三区在线视频 | 日韩av免费看| 中文字幕亚洲一区 | 亚洲精品在线视频 | 国产亚洲精品不卡在线 | 国产成人99 | 草久影视| 91精品国产综合久久久蜜臀粉嫩 | 欧美偷拍自拍视频 | 久久久蜜桃| 国产免费一级淫片 | 亚洲午夜精品一级在线 | 天天成人综合网 | 99久热国产精品视频尤物不卡 | 日本三级免费 | 亚洲综合色播 | 日本爽爽爽爽爽爽免费 | 日本不卡在线 | 水野朝阳128部合集在线 | aⅴ在线免费观看 | 九色91| 欧美日本一道本 | 极品美女一区二区三区视频 | 久久婷婷影院 | 欧美一级视 | 亚洲精品久 | 美女一级| 成人国产精品免费视频不卡 | 99热99色| 久久青青草视频 | 欧美午夜一区二区三区免费大片 | 日韩欧美国内 |