默认方法的参数名和网页的属性名相同,会自动注入(自动转换类型)
Tips:若方法的参数名和网页的属性名并不相同,可使用注解
@RequestParam(value=“网页的属性名”),其他属性:
defaultValue:给参数赋默认值
required=true:使得必须传参,若没有则报异常(500)
Ps:当required和deafultValue一起使用时,required恒不成立
如图:为JSP页面及控制器函数
可在参数位置使用类对象,SpringMVC会自动将属性注入到类中同名属性(set方法)
Ps:400错误,参数数据类型和输入类型不匹配
如图:继续使用上面的jsp表单
可获取到请求对象(HttpServletRequest req),也包括其他原生servlet的东西
如:
①如复选框,传递多个同名参数时,并不会自动寻找同名形参
使用@RequestParam(“网页的属性名”)List<String> 形参名
②对于abc.name这种风格的参数,可新建一个demo类,包含一个abc的类的对象属性
abc类中可定义name属性,形参使用demo类对象,会自动注入
controller可以调用controller吗。③对于abc[0].name和abc[1].name时,可将abc变为List<Abc> abc,即使用list存储多个对象
resultful传值,简化jsp中参数传值方式:
将demo?id=~&name=~简化为demo/id/name
此时需使用@RequestMapping(“demo/{id(自定义)}/{name1}”)进行拦截
传参时使用注解@PathVariable(value=""),或使得形参名和前面的自定义名称同名
对于resultful风格和普通风格同时存在时,优先找最匹配的
Ps:此时会改变return时的相对路径,进行请求转发时,需使用资源绝对路径
如图:使用超链接进行请求测试
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态