使用@PathVariable注解如何实现动态传值
程序员文章站
2022-07-02 08:58:48
目录@pathvariable注解实现动态传值动态参数使用@pathvariable解析@pathvariable注解实现动态传值动态传值@requestmapping(value="/test/{i...
@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 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 上了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。