springmvc传参方式
这个是最原始的方式
使用注解后,后台这样写形参,前台传的参数,会自动封装到形参里面,但这个是基于同名配置的规则,前台参数的名称, 要和后台形参名一致
如果前台名称不一致,则注解不进去
@RequestParam(value="name"String username):表明前台的传的参数名称叫name,要往username里面注入
当前台名字和形参不一致,可以使用@RequestParam注解进行映射
required=true,表示前台的参数是不是必须要传,默认是true必须要传
defaultValue:表示前台没有传,我就给一个设置的默认值,这里设置的是haha,当没有前台没有传,我就显示haha
如果没传就会报下面的错
springmvc也是支持模型传参的
在struts中,前台页面中是需要写类.属性的,在springmvc中是不用的写前缀
普通的方式
delete后面那一串是做为参数传到后台的,这种是restful的风格
写上占位符,此时前台参数是注入不到后台的,得加一个注解来映射
小结:
1,传参方式的几种,通过原生的要手动获取前台传进来的参数,再手动的注入到对应的属性
2,贴了注解后,是可以基于同名匹配的原则,直接注入到后台的形参里
3,如果前台传的参数名和后台的形参名不一致,可以使用注解@RequestParam(value="name"String username)来映射,指明前台传的哪个参数名,注入到后台哪个形参名,它还有一个required,指明是否一定要传参,默认是true,不需要就的话就设置成false
还有一个defaultValue:设置如果前台没有传参我给他设置一个默认的值
4,springmvc是支持模型传参的,可以通过模型来注入,此时前台页面的名称就不用加前缀,这点和struts2不一样。如果加了前缀就注入不进去了
5,地址栏传参,普通方式和restful风格
restful风格:访问的方法后加一个占位符,形参中通过@requestParam注入方式来映射到形参中