SpringMVC关于参数问题案例

方式一:传统request接收

//param01?id=12
@RequestMapping("/param01")
public String param01(HttpServletRequest request){
    String id = request.getParameter("id");
    System.out.println("id="+id);
    return "success";
}

方式二:直接接收参数

//param02?id=12
@RequestMapping("/param02")
public String param02(int id){
    System.out.println("id="+id);
    return "success";
}

方式三:数组接收参数

//param03?likes=aa&likes=bb
@RequestMapping("/param03")
public String param03(String[] likes){
    System.out.println("likes="+ Arrays.toString(likes));
    return "success";
}

方式四:集合接收参数

//param04?likes=aa&likes=bb
@RequestMapping("/param04")
public String param04(@RequestParam("likes")List<String>likes){
    System.out.println("likes="+ likes);
    return "success";
}

方式五:日期接收参数

方法一:字符串接收

//param05?date=2024-08-27
@RequestMapping("/param05")
public String param05(String date) throws ParseException {
    System.out.println("date="+ date);
    //将字符串转化为日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date date1 = sdf.parse(date);
    System.out.println(date1);
    return "success";
}

方法二:形式参数直接接收

这种方式对日期有严格要求,yyyy/MM/dd

//param15?date=2024/08/27
@RequestMapping("/param15")
public String param15(Date date){
    System.out.println("date="+ date);
    //将字符串转化为日期
    return "success";
}

方法三:初始化绑定

//param25?date=2024/08/27
@InitBinder
public void initData(WebDataBinder wdb){
    wdb.registerCustomEditor(Date.class,new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true));
}
@RequestMapping("/param25")
public String param25(Date date){
    System.out.println("date="+ date);
    //将字符串转化为日期
    return "success";
}

方式六:RestFull风格传参

//param06/name
@RequestMapping("/param06/{name}")
public String param06(@PathVariable String name){
    System.out.println("name="+ name);
    return "success";
}

方式七:对象传参

@RequestMapping("/param07")
public String param07(User user){
    System.out.println("user="+ user);
    return "success";
}
相关推荐
xmh-sxh-131414 分钟前
jdk各个版本介绍
java
天天扭码33 分钟前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
程序猿进阶33 分钟前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺38 分钟前
Spring Boot框架Starter组件整理
java·spring boot·后端
小曲程序1 小时前
vue3 封装request请求
java·前端·typescript·vue
陈王卜1 小时前
django+boostrap实现发布博客权限控制
java·前端·django
小码的头发丝、1 小时前
Spring Boot 注解
java·spring boot
java亮小白19971 小时前
Spring循环依赖如何解决的?
java·后端·spring
飞滕人生TYF1 小时前
java Queue 详解
java·队列
武子康2 小时前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs