使用@PathVariable註解如何實現動態傳值
@PathVariable註解實現動態傳值
動態傳值
@RequestMapping(value="/Test/{id}") public void Test(@PathVariable Integer id){ ............. }
用法
在頁面表單的action中,寫controller中對應的方法名
TestController.java @RequestMapping(value="/{methodName}") public String TZ(@PathVariable String methodName){ return methodName; }
動態參數使用@PathVariable解析
現在有如下的一條超鏈接
<a href="<c:url%20value=" 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 上瞭。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 關於動態參數使用@PathVariable的解析
- Springmvc @PathVariable的用法解析
- spring mvc中@PathVariable / 帶斜杠方式獲取
- SpringBoot多種場景傳參模式
- @PathVariable為空時指定默認值的操作