时间:2021-05-19
Controller方法的返回值可以有以下几种:
返回ModelAndView时最常见的一种返回结果。需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置。
真实的访问路径=“前缀”+逻辑视图名+“后缀”
注意:如果返回的String代表逻辑视图名的话,那么Model的返回方式如下:
public String testController(Model model){model.addAttribute(attrName,attrValue);//相当于ModelAndView的addObject方法return "逻辑视图名"; }redirect的特点和servlet一样,使用redirect进行重定向那么地址栏中的URL会发生变化,同时不会携带上一次的request
案例:
public String testController(Model model){ return "redirect:path";//path代表重定向的地址 }通过forward进行转发,地址栏中的URL不会发生改变,同时会将上一次的request携带到写一次请求中去
案例:
public String testController(Model model){ return "forward:path";//path代表转发的地址 }返回这种结果的时候可以在Controller方法的形参中定义HTTPServletRequest和HTTPServletResponse对象进行请求的接收和响应
以上三种返回值没有什么重要和不重要的分别,一般来说都会使用到, 只不过有的时候使用的方式会有一些细微的差别
补充:SpringMvc中,Controller方法的多种实现方式(指定返回到哪个页面,指定返回到页面的数据)
举3)中的例子,我在update方法中定义了:
Items items,HttpServletRequest request,以及HttpServletResponse response这三个类型.
但是大家可以发现,其实我在方法中是没有用到response的,因此,可以把其删掉,对于程序来说,并不会
产生影响。
因此,大家在定义方法的时候,可以根据自己的实际需要来定义所需要的类,或者大家怕以后代码需要改麻烦的话,
全部定义上也是可以的。
更新
例:
@RequestMapping("atimynyc/getUser")@ResponseBodypublic User getUser(String id){ User user = new User(); user.setUserName = "Atimynyc"; user.setUserAge = 18; user.setUserPhone = "123456789"; return User;}通过加上ResponseBody,springmvc就知道该接口是返回数据,例,当我们用ajax调用上面的接口url时atimynyc/getUser,就可以获得user这个对象。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、什么是springmvc类型转换器? 在我们的ssm框架中,前端传递过来的参数都是字符串,在controller层接收参数的时候springmvc能够帮我
引言使用SpringMVC作为Controller层进行Web开发时,经常会需要对Controller中的方法进行参数检查。本来SpringMVC自带@Vali
本文实例为大家分享了SpringMVC中controller返回json数据的2种方法,供大家参考,具体内容如下1.jsp的ajax请求:functionget
在springmvc中提供了三种controller的配置,1.针对不需要controller代码的,也就是只起到跳转页面的作用。2.可以接受实体类型的cont
在springmvc中的controller所对应的函数中,如果需要从*.jsp页面中获取数据,可以自行在函数括号中写,springmvc会自动封装传过来的值。