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

溫馨提示×

溫馨提示×

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

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

如何使用@PathVariable

發布時間:2022-02-23 10:48:57 來源:億速云 閱讀:442 作者:iii 欄目:開發技術

本篇內容主要講解“如何使用@PathVariable”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用@PathVariable”吧!

動態參數使用@PathVariable解析

現在有如下的一條超鏈接

<a href="<c:url value=" rel="external nofollow" /actions/article/readArticle/${article.id}"/> "
                                                 target="_blank">${article.title}</a>

這條超鏈接的特點就是在URL路徑中添加了EL表達式解析出來的id值。

因此,在SpringMVC的Controller層中,需要解析它,使用@PathVariable("articleId") Long articleId 來解析。

@PathVariable是專門用來解析URL請求中的動態參數。

在Controller層的代碼如下

public static final String URL_ARTICLE_READ = "article/readArticle/{articleId}";
    /**
     * 去文章詳情頁面
     * 根據URL路徑中指定的文章ID號,去獲取制定文章的內容
     *
     * @param articleId 指定的文章的ID號
     * @return          獲取此文章的數據,并去文章詳情頁面
     */
    @RequestMapping(value = {URL_ARTICLE_READ} )
    public ModelAndView readArticle(@PathVariable("articleId") Long articleId){
        LOGGER.info("enter article detail page, articleId = {}",articleId);
        final Article article = articleService.getArticleById(articleId);
    ...
    }

這樣,頁面上的${article.id}的值,就最終映射到了Java中的Long articleId 上了。

獲取路徑中的參數值@PathVariable中的value

本期講的是@PathVariable注解的具體使用。與@RequestParam的區別

  • @PathVariable獲取URI地址中的參數值,需要結合URI模板映射

  • @PathVariable會將數據放到模型中,界面可以通過el表達式獲取(即瀏覽器上面可以顯示出來),但是@RequestParam不能通過界面獲得

1.@PathVariable String name

加上@PathVariable就能夠獲取到瀏覽器中rul的參數值

@RequestMapping("/get_param")
@Controller
public class GetParamController {
	@RequestMapping("/test6/{name}")  
	public String test6(@PathVariable String name) {
		System.out.println("GetParamController test6()...");
		System.out.println("name="+name);
		return "test";//跳轉到test.jsp
		/* 
		 * ../test6/tom   結果:name=null 就要在參數里面加上@PathVariable  結果就變為:name=tom
		 * ../test6/tom?name=kk  結果:name=tom  拿到的是URI路徑里面的值跟后面的沒有任何關系
		 * */
	}
}

2.@PathVariable(“username”) String name

當瀏覽器中的是username,而后臺要接收的是name

如何使用@PathVariable

就會報錯,由于username和name不匹配

如何使用@PathVariable

此時要加上value值,@PathVariable(“username”)

@RequestMapping("/get_param")
@Controller
public class GetParamController {
	@RequestMapping("/test7/{username}")  //username與下面的name不一致,報錯,就需要加上@PathVariable("username")
	public String test7(@PathVariable("username") String name) {//name和username不一致時,用@PathVariable("username")
		System.out.println("GetParamController test7()...");
		System.out.println("name="+name);
		return "test";//跳轉到test.jsp
	}
}

如何使用@PathVariable

此時就不會報錯了

如何使用@PathVariable

如何使用@PathVariable

到此,相信大家對“如何使用@PathVariable”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

萝北县| 卢氏县| 柯坪县| 襄城县| 尉氏县| 太湖县| 静海县| 大兴区| 禄丰县| 常熟市| 大化| 沾化县| 正宁县| 宁远县| 翼城县| 信宜市| 镇巴县| 维西| 屯留县| 巫山县| 乃东县| 赞皇县| 延寿县| 洮南市| 田林县| 沂水县| 贵溪市| 开鲁县| 赤城县| 宜兰市| 宾阳县| 寻乌县| 岳普湖县| 疏勒县| 美姑县| 横峰县| 板桥市| 卓资县| 莒南县| 中江县| 奎屯市|