基本数据类型及对象类型作为参数

将内容写到方法参数中,SpringMVC只要有这个内容,便会自动注入(下述情况get/post均可)

如前端传递name及age参数:

@Controller
public class DemoController {
    @RequestMapping("demo")
    public String demo(String name, int age, Person person) {
        return "main.jsp";
    }
}

其中person具有name及age属性,同时具有相应属性的get、set方法,则SpringMVC会将name、age以及person中的name、age进行赋值,(SpringMVC能够对类型进行自动转换,同时只要SpringMVC接收参数只要有,就能赋值,无论次数),只要保证参数名称和请求中传递的参数名相同,方法参数为引用类型(如String)而且请求参数没有该属性,则为null,如果是基本数据类型,没有该属性将会报错

如果参数名不一致,可以使用@RequestParam注解:(如果前端传递数据为name1,age1)

@Controller
public class DemoController {
    @RequestMapping("demo")
    public String demo(@RequestParams('name1")String name,@RequestParam("age1") int age) {
        return "main.jsp";
    }
}

基本数据类型可以使用requestParam的defaultValue属性,设置默认值,防止请求参数没有该值时出错;同时具有required属性,表示请求参数是否必须具有该属性,设置为true没有该参数则报异常,如果required设置为true,同时设置defaultValue,即使请求参数没有该属性值,也不会报错,将使用默认值

如果前端有一个多选框,name为hover,同时选中多个(传递多个同名参数),可以使用List或者数组接收:

@Controller
public class DemoController {
    @RequestMapping("demo")
    public String demo(@RequestParams('hover")List list) {
        return "main.jsp";
    }
}

请求参数可以设置为peo.name及peo.age为下面的Demo对象传值

public class Demo {
    private People peo;

    public People getPeo() {
        return peo;
    }

    public void setPeo(People peo) {
        this.peo = peo;
    }
}
@Controller
public class DemoController {
    @RequestMapping("demo")
    public String demo(Demo demo) {
        return "main.jsp";
    }
}

请求参数可以设置为peo[0].name,peo[0].age及peo[1].name,peo[1].age为下面的Demo对象传值

public class Demo {
    private List peo;

    public List getPeo() {
        return peo;
    }

    public void setPeo(List peo) {
        this.peo = peo;
    }
}

restful传值方式:简化jsp中参数编写格式
请求url:demo/123/abc

@Controller
public class DemoController {
    // 使用PathVariable注解或者同名参数均可
    @RequestMapping("demo/{id1}/{name1}")
    public String demo(@PathVariable("id1")int id,@PathVariable("name1")String name) {
        // 注意main.jsp是相对路径,此时跳转路径将为/demo/123/main.jsp
        return "main.jsp";
    }
}

你可能感兴趣的:(基本数据类型及对象类型作为参数)