欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用@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 上了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。