天天看點

@PathVariabl和@RequestParam用法與差別

@RequestParam

使用@RequestParam接收前段參數比較友善,前端傳參的URL:

url = “${ctx}/main/mm/am/edit?Id=${Id}&name=${name}”

後端使用集合來接受參數,靈活性較好,如果url中沒有對參數賦key值,後端在接收時,會根據參數值的類型附,賦一個初始key(String、long ……)

@RequestMapping("/edit")

    public String edit(Model model, @RequestParam Map<String, Object> paramMap ) {

        long id = Long.parseLong(paramMap.get("id").toString());

        String name = paramMap.get("name").toString;

        return page("edit");

    }

@PathVariable

使用@PathVariable接收參數,參數值需要在url進行占位,前端傳參的URL:

url = “${ctx}/main/mm/am/edit/${Id}/${name}”

@RequestMapping("/edit/{id}/{name}")

    public String edit(Model model, @PathVariable long id,@PathVariable String name) {

        return page("edit");

    }

前端傳參的URL于後端@RequestMapping的URL必須相同且參數位置一一對應,否則前端會找不到後端位址

繼續閱讀