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";
}
相关推荐
lybugproducer1 小时前
创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式
java·设计模式·建造者模式·简单工厂模式·工厂方法模式·抽象工厂模式·面向对象
南客先生1 小时前
马架构的Netty、MQTT、CoAP面试之旅
java·mqtt·面试·netty·coap
Minyy111 小时前
SpringBoot程序的创建以及特点,配置文件,LogBack记录日志,配置过滤器、拦截器、全局异常
xml·java·spring boot·后端·spring·mybatis·logback
百锦再1 小时前
Java与Kotlin在Android开发中的全面对比分析
android·java·google·kotlin·app·效率·趋势
武昌库里写JAVA2 小时前
39.剖析无处不在的数据结构
java·vue.js·spring boot·课程设计·宠物管理
Nelson_hehe5 小时前
Java基础第四章、面向对象
java·语法基础·面向对象程序设计
Thomas_YXQ5 小时前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
ShiinaMashirol6 小时前
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
java·算法
东阳马生架构7 小时前
Nacos简介—3.Nacos的配置简介
java
北极的企鹅887 小时前
XML内容解析成实体类
xml·java·开发语言