有关SpringMVC controller 编写问题

关于controller 几种 返回形式


1、 ModelAndView

ModelAndView 从名字可以看出,该对象可以设置传往jsp页面 对象,或者返回给前端的视图名。这个对象设置在了request作用域。
写法:
这里写图片描述
2、 String 返回String 类型的同样可以设置 model 当然返回的string 就是 视图名。

3、 当然也可以返回void ,然后利用 servlet原生的开发方式来设置视图名 以及传输对象。
这里写图片描述

这种方式 也可以访问,但是需要注意path应该成绝对路径。即完整路径。
上面的三种方法 都是我项目中试验过的,有时候 返回字符串的时候 会返回”redirect:url”或”forward:url”;这代表了 服务端重定向或者服务端转发。注意俩种方式 数据共享的问题。

关于controller 中参数绑定的方法:
1、 controller 中默认支持的形参:HttpServletRequest HttpservletResponse Model(通过 item {item.xxx} 来获取对象属性值) HttpSession
2、 我们自定义的那些参数:
如果 request请求参数的参数名 与controller的参数名一致 则直接定义,不一样时可以通过@RequestParam(“”)来指定 将request的参数 绑定到 哪一个形参上面。 对于必须要传入的参数 可以@RequestParam(value=””,required=true,defaultValue=xxx)

绑定 简单pojo类型只要请求的pojo参数 名与 controller 中的属性名一致,就可以绑定成功。
绑定 包装 pojo类型 。上面的存在一个问题 就是 假设 当多个controller pojo类型的参数都具有某个属性 比如说 student User都具有 name属性 那么 就不能通过简单的请求参数名与对象属性名对应来 获取,因为这样无法绑定参数。解决办法是:通过在controller类中 定义
这里写图片描述

前端使用Object.Param来设置 表单name值。这样后台 也可以 拿到 这俩个具有重复属性名的对象。还有一种方法是 建立以 FormBean 来传递。这个 bean里面 含有这俩个对象。然后通过
@RequestMapping()
Public void xxx(FormBean formBean);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值