spring mvc @PathVariable绑定URI模板变量值方式

目录
  • @PathVariable绑定URI模板变量值
  • @RequestParam(参数绑定到控制器)和@PathVariable(参数绑定到url模板变量)

@PathVariable绑定URI模板变量值

@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

@RequestMapping(value="/users/{userId}/topics/{topicId}")
public String test(
       @PathVariable(value="userId") int userId,
       @PathVariable(value="topicId") int topicId) 

如请求的URL为“控制器URL/users/123/topics/456”,则自动将URL中模板变量{userId}和{topicId}绑定到通过@PathVariable注解的同名参数上,即入参后userId=123、topicId=456。

代码在PathVariableTypeController中。

@RequestParam(参数绑定到控制器)和@PathVariable(参数绑定到url模板变量)

spring mvc:练习 @RequestParam和@PathVariable

  • @RequestParam: 注解将请求参数绑定到你的控制器方法参数
  • @PathVariable: 注释将一个方法参数绑定到一个URI模板变量的值

@RequestParam: 注解将请求参数绑定到你的控制器方法参数

@RequestMapping(value="/example/user")
public String UserInfo(Model model, @RequestParam(value="name", defaultValue="Guest") String name)
  

实例:

package springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class RequestParamExampleController {
    @RequestMapping(value="/example/user")
    public String UserInfo(Model model,
            @RequestParam(value="name", defaultValue="Guest") String name)
    {
        model.addAttribute("name", name);
        if("admin".equals(name))
        {
            model.addAttribute("email", "admin@google.com");
        }else {
            model.addAttribute("email", "not set");
        }
        return "example_user";
    }
}
  

@PathVariable: 注释将一个方法参数绑定到一个URI模板变量的值

@RequestMapping(value="/example/info/{language}/{id}/{name}")
public String userInfo2(Model model,
            @PathVariable(value="language") String language,
            @PathVariable(value="id") Long id,
            @PathVariable(value="name")  String name)

实例:

package springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.PathVariable;

@Controller
public class RequestParamExampleController {
        @RequestMapping(value="/example/person/{name}/{age}")
    public String userPerson(Model model,
            @PathVariable(value="name") String name,
            @PathVariable(value="age") Long age)
    {
        model.addAttribute("name", name);
        model.addAttribute("age", age);
        String desc = "";
        if(age > 20)
        {
            desc = "oldman";
        }else {
            desc = "yongman";
        }
        model.addAttribute("desc", desc);
        return "example_person";
    }
}

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

(0)

相关推荐

  • SpringMVC使用@PathVariable接收参数过程解析

    PathVariable 映射 URL 绑定的占位符 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中. 使用MVC时,总是出现一些问题,当然都是使用造成的. 今天遇到一个问题,使用@PathVariable

  • spring mvc中的@PathVariable获得请求url中的动态参数

    spring mvc中的@PathVariable是用来获得请求url中的动态参数的,十分方便,复习下: @Controller public class TestController { @RequestMapping(value="/user/{userId}/roles/{roleId}",method = RequestMethod.GET) public String getLogin(@PathVariable("userId") String user

  • @PathVariable注解,让spring支持参数带值功能的案例

    @PathVariable的作用 获取URL动态变量,例如 @RequestMapping("/users/{userid}") @ResponseBody public String getUser(@PathVariable String userid){ return "userid=" + userid; } @PathVariable的包引用 spring自从3.0版本就引入了org.springframework.web.bind.annotation.

  • SpringMVC中使用@PathVariable绑定路由中的数组的方法

    问题描述 在开发批量删除功能时,往往都是多条数据,所以前台需要传一个数组给后台,但是怎么在URL中绑定一个数组,同时在后台用@PathVariable来绑定呢? 原来的做法 后台: 前台: 以上是之前项目的截图,直接拿过来啦!!!

  • spring mvc @PathVariable绑定URI模板变量值方式

    目录 @PathVariable绑定URI模板变量值 @RequestParam(参数绑定到控制器)和@PathVariable(参数绑定到url模板变量) @PathVariable绑定URI模板变量值 @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上. @RequestMapping(value="/users/{userId}/topics/{topicId}") public String test( @PathVariable(value=&q

  • TensorFlow 输出checkpoint 中的变量名与变量值方式

    废话不多说,直接看代码吧! import os from tensorflow.python import pywrap_tensorflow model_dir="/xxxxxxxxx/model.ckpt" #checkpoint的文件位置 # Read data from checkpoint file reader = pywrap_tensorflow.NewCheckpointReader(model_dir) var_to_shape_map = reader.get_v

  • spring mvc中的@PathVariable动态参数详解

    目录 spring mvc @PathVariable动态参数 spring mvc是如何做到根据参数名动态绑定参数的? 反射获取参数名 -parameters参数 -g参数 ASM SpringMVC的处理方式 总结 spring mvc @PathVariable动态参数 spring mvc中的@PathVariable是用来获得请求url中的动态参数的,十分方便 @Controller public class TestController { @RequestMapping(value

  • Spring MVC的参数绑定和返回值问题

    一:参数绑定 参数绑定过程 在springMVC中,从前端(页面:jsp-)发送请求到后端(controller-),会包含一些数据,数据是如何到达Controller,这个过程就是参数绑定过程 1.默认支持的类型 SpringMVC有支持的默认的参数类型,在方法上给出默认的参数类型的声明就可以直接使用 HttpServletRequest request:通过request对象来获取请求的信息 HttpServletResponse response:通过response来处理响应信息 Htt

  • 解决Spring Mvc中对象绑定参数重名的问题

    前言 本文主要给大家介绍了关于解决Spring Mvc对象绑定参数重名问题的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 发现问题 SpringMvc提供了对象参数绑定功能,例如Person对象有一个age字段, 则页面表单使用 <input type='text' name='age' value='25'> Controller中使用 public void getPerson(Person person){ // 此时person对象的age属性值为25 }

  • spring mvc中@PathVariable / 带斜杠方式获取

    目录 spring mvc @PathVariable / 带斜杠方式获取 实例 springMVC @PathVariable中间带/问题处理 问题 解决思路 spring mvc @PathVariable / 带斜杠方式获取 遇上这个问题,百度google了一下,抄袭里面的内容,可以实现,在此备忘 实例 @RequestMapping(value = "/download/{value1}/**", method = RequestMethod.GET) public void

  • Spring mvc Controller和RestFul原理解析

    控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现. 控制器负责解析用户的请求并将其转换为一个模型. 在Spring MVC中一个控制器类可以包含多个方法 在Spring MVC中,对于Controller的配置方式有很多种 实现Controller接口 Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法: //实现该接口的类获得控制器功能 public interfa

  • spring mvc路径匹配原则详解

    在Spring MVC中经常要用到拦截器,在配置需要要拦截的路径时经常用到<mvc:mapping/>子标签,其有一个path属性,它就是用来指定需要拦截的路径的.例如: <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.i360r.platform.webapp.runtime.view.interceptor.GenericInterceptor"

  • spring MVC cors跨域实现源码解析

    名词解释:跨域资源共享(Cross-Origin Resource Sharing) 简单说就是只要协议.IP.http方法任意一个不同就是跨域. spring MVC自4.2开始添加了跨域的支持. 跨域具体的定义请移步mozilla查看 使用案例 spring mvc中跨域使用有3种方式: 在web.xml中配置CorsFilter <filter> <filter-name>cors</filter-name> <filter-class>org.spr

  • Spring MVC的国际化实现代码

    Spring MVC的国际化是建立在Java国际化的基础上的,其一样是通过提供不同国家的语言环境的消息资源.通过ResourceBundle加载Locale对应的资源文件.再取得该资源文件中指定Key对应的消息. 步骤: 1.给系统加载国际化资源 2.输出国际化.Spring MVC输出国际化消息有两种方式. 在页面上输出国际化消息.需要使用Spring MVC的标签库. 在Controller的处理方法中输出国际化消息.需要使用org.springframework.web.servlet.s

随机推荐