1)ModelAndView

@RequestMapping(value="/itemEdit")
public ModelAndView itemEdit(){
//创建模型视图对象
ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("username", "张三");//指定页面返回的数据
modelAndView.setViewName("test");//设置返回的视图名称 return modelAndView;
}

2)String(推荐使用)

1) 返回普通字符串,就是页面去掉扩展名的名称, 返回给页面数据通过Model来完成

@RequestMapping(value="/test1")
public String test1(Model model){

//添加数据
model.addAttribute("username", "李四");
model.addAttribute("address", "福州晋安区");
return "test";
}

2) forward: 请求转发,存入到model中的数据, 转发的方法响应的页面可以直接取出${username}--${address}

@RequestMapping(value="/test2")
public String test2(Model model){
//添加数据,请求转发携带的数据
model.addAttribute("username", "李四");
model.addAttribute("address", "福州晋安区"); //请求转发到另一个方法
return "forward:index";//相对路径
//return "forward:/test/index"; //绝对路径,"/"代表从项目名开始
} @RequestMapping(value="/index")
public String index(){
return "test";
}

页面

<body>
<!--页面显示: 李四--福州晋安区-->
${username}--${address}
</body>

3) redirect: 重定向

@RequestMapping("/testRedirect")
public String testRedirect(Model model){ //添加数据
model.addAttribute("username", "jack");
model.addAttribute("address", "美国纽约"); //重定向
return "redirect:index";
}

//http://localhost:8080/crm0618/test/index?username=jack&address=美国纽约 @RequestMapping(value="/index")
public String index(HttpServletRequest request) throws UnsupportedEncodingException{
String username = request.getParameter("username");
String address = new String(request.getParameter("address").getBytes("iso8859-1"), "utf-8"); return "test";
}

3)返回void(使用它破坏了springMvc的结构,所以不建议使用)

可以使用request.setAttribut 来给页面返回数据
可以使用request.getRquestDispatcher().forward()来指定返回的页面
如果controller返回值为void则不走springMvc的组件,所以要写页面的完整路径名称

@RequestMapping("/testRequest")
public void testRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
//将数据存入到request域中
request.setAttribute("username", "make");
request.setAttribute("address", "芝加哥"); request.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(request, response);;
}

SpringMVC中 controller方法返回值的更多相关文章

  1. SpringMVC中Controller的返回值类型

    Controller方法的返回值可以有以下几种: 1.返回ModelAndView 返回ModelAndView时最常见的一种返回结果.需要在方法结束的时候定义一个ModelAndView对象,并对M ...

  2. Spring MVC中 controller方法返回值

    1.返回ModelAndView 定义ModelAndView对象并返回,对象中可添加model数据.指定view 2.返回String 1.表示返回逻辑视图名 model对象通过 model.add ...

  3. SpringMVC的@RequestMapping和Controller方法返回值

    本节内容: @RequestMapping Controller方法返回值 一.@RequestMapping 通过@RequestMapping注解可以定义不同的处理器映射规则. 1. URL路径映 ...

  4. SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

    一.参数的传递 1.简单的参数传递 /* @RequestParam用法:入参名字与方法名参数名不一致时使用{ * value:传入的参数名,required:是否必填,defaultValue:默认 ...

  5. springmvc中Controller方法的返回值

    1.1 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. 1.2 返回void 在controller方法形参 ...

  6. SpringMVC的Controller的返回值与接收的参数

    内容参考自博客: http://blog.csdn.net/u011001084/article/details/52846791 http://blog.csdn.net/xuxiaoyinliu/ ...

  7. SprimgMVC学习笔记(五)—— Controller方法返回值

    一.返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. /** * 查询商品列表 * @return */ @R ...

  8. Controller方法返回值

    1. 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. //入门程序 第一 包类 + 类包 + 方法名 @Re ...

  9. Asp.net mvc中Controller的返回值

    (1)EmptyResult:当用户有误操作或者是图片防盗链的时候,这个EmptyResult就可以派上用场,返回它可以让用户啥也看不到内容,通过访问浏览器端的源代码,发现是一个空内容: public ...

随机推荐

  1. 重大消息:华为笔记本电脑开始用LINUX系统

    对华为而言,此举不失为一个明智的抉择.在手机操作系统领域,目前已被苹果的IOS系统和谷歌的安卓系统垄断.而IOS系统是封闭式,只为苹果手机使用:安卓是开放性,当谷歌与华为停止合作后.华为手机将无法使用 ...

  2. 记录下spingboot连接阿里云服务器上的MySQL数据库报错

    错误大概如下: create connection SQLException, url: jdbc:mysql://'IP地址':3306/code007?useUnicode=true&ch ...

  3. 无需重新编译安装PHP扩展的方法

    转自:https://www.jianshu.com/p/ae3c17b0f126 PHP扩展模块通常有两种: PHP官方扩展.如果php通过源码安装(php7),安装的时候未开启,而后来需要开启某个 ...

  4. centos7下yourcompleteme安装

    以前装过一回,没成功,现在再来一次 yourcompleteme git https://github.com/ycm-core/YouCompleteMe#installation 检查软件版本 v ...

  5. Nginx配置的一些说明(添加https证书)

    server { listen 443 ssl; #监听https 443端口 server_name www.XXXX.com; client_max_body_size 260M; #这下面的就是 ...

  6. xfpt 连接Linux失败问题

    首先切换到root用户 1. su 未设置root密码的可以使用一下命令 sudo passwd root 一.上传文件失败(一动不动) 1.安装ftp服务 apt-get install vsftp ...

  7. bzoj 1138: [POI2009]Baj 最短回文路

    额,,貌似网上的题解都说超时之类的. 然而我这个辣鸡在做的时候不知道在想什么,连超时的都不会. 超时的大概是这样的,f[x][y]表示x到y的最短回文路,然后更新的话就是 f[x][y]更新到 f[a ...

  8. Day6 - M - 动态逆序对 HYSBZ - 3295

    对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删 除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数 I ...

  9. mysql批量插入更新操作

    //添加关联赠品(确定) public function addGiveGoods($ids,$child,$parent_sku_no){ $license=new LicenseModel(); ...

  10. python 文件与文件夹相关

    1.判断文件夹是否存在,不存在则创建文件夹: if not os.path.exists(path): os.makedirs(path) 2.判断文件是否存在,存在就删除: os.path.exis ...