springmvc中

@Controller 来标识一个控制器

@RequestMapping来标识请求路径,可以写在类名上,也可以写在方法名上。写在类,表示所有的方法都在此路径下。

package com.sun.action;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
@RequestMapping("/view")
public class ViewPageController { @RequestMapping("/index")
public String Index(){ return "index";
} @RequestMapping("/index2")
public String Index2(){ return "index2";
}
}

传递值给页面显示的方式

一种是Model 一种是ModelAndView

    @RequestMapping("/hello")
public String hello(Model model){ //讲参数传递给页面显示
model.addAttribute("name", "page name ====== hello");
return "hello";
}

这里return 的内容就是jsp的名字。

    //返回页面,同时返回值
@RequestMapping(value = "/queryListMV.do")
public ModelAndView queryListMV(HttpServletRequest request,
HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
mv.setViewName("/newuser"); //返回页面名
mv.addObject("data", new User());//返回map对象
return mv;
}

这里ViewName 里面的内容就是jsp页面的名。

参数的接收

第一种,当时是直接从request里面接收表单或者URL传过来的值。

    @RequestMapping(value = "/queryListMV2.do",method=RequestMethod.GET)
public ModelAndView queryListMV2(HttpServletRequest request,
HttpServletResponse response) { String name = request.getParameter("name");
Integer age = Integer.valueOf(request.getParameter("age")); User user = new User();
user.setName(name);
user.setAge(age);
ModelAndView mv = new ModelAndView();
mv.setViewName("/newuser"); //返回页面名
mv.addObject("data",user);//返回map对象
return mv;
}

第二种 从path 上获取指定的参数

	/*
* @PathVariable 指定path上面的参数
*/
@RequestMapping("/pathview/{age}/{years}/{month}")
public String pathview(Model model,
@PathVariable(value="age") String age,
@PathVariable(value="years") String years,
@PathVariable(value="month") String month
){ model.addAttribute("age", age);
model.addAttribute("years", years);
model.addAttribute("month", month);
model.addAttribute("name", "page name ====== pathview"); return "pathview";
}  

第三种:用requestParam 接收

    /*
* @RequestParam 用来接收超链接的参数,可以设置默认值
*/ @RequestMapping("/userInfo")
public String userInfo(Model model,@RequestParam(value="name",defaultValue=adminuser) String name){ if("admin".equals(name)){
//讲参数传递给页面显示
model.addAttribute("name", "page name ====== "+ name);
}else{
model.addAttribute("name", "page name ====== "+ name);
} return "userInfo";
}

第四种, 用 @ModelAttribute接收表单对象

    /*
* * 传递对象,通过对象,接受form表单的对象值
*/ @RequestMapping(value="/adduser",method=RequestMethod.POST)
public String adduser(Model model,@ModelAttribute("SpringWeb")User user){ model.addAttribute("name", user.getName());
model.addAttribute("age", user.getAge());
model.addAttribute("id", user.getId()); System.out.println("");
return "adduser";
}

SpringMVC之学习(2)值得接收和传递的更多相关文章

  1. Springmvc中 同步/异步请求参数的传递以及数据的返回

    转载:http://blog.csdn.net/qh_java/article/details/44802287 注意: 这里的返回就是返回到jsp页面 **** controller接收前台数据的方 ...

  2. SpringMVC项目学习1_web.xml

    最近接触的所有项目都是SpringMVC+ajax的项目,因此以一个项目为例学习下. --------------------------------------------------------- ...

  3. springmvc中同步/异步请求参数的传递以及数据的返回

    注意: 这里的返回就是返回到jsp页面 **** controller接收前台数据的方式,以及将处理后的model 传向前台***** 1.前台传递数据的接受:传的属性名和javabean的属性相同 ...

  4. SpringMVC入门学习(二)

    SpringMVC入门学习(二) ssm框架 springMVC  在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...

  5. SpringMVC入门学习(一)

    SpringMVC入门学习(一) ssm框架 spring  SpringMVC是一个Java WEB框架,现在我们知道Spring了,那么,何为MVC呢? MVC是一种设计模式,其分为3个方面 mo ...

  6. springMVC @ModelAttribute学习

    springMVC @ModelAttribute学习 博客分类: Spring   @ModelAttribute 绑定请求参数到命令对象 @ModelAttribute一个具有如下三个作用: ①绑 ...

  7. spring controller接口中,用pojo对象接收页面传递的参数,发现spring在对pojo对象赋值时,有一定顺序的问题

    1.我的项目中的实体类都继承了基类entityBase,里面封装了分页的一些属性,pageindex.pagesize.pagerownum等. 2.思路是页面可以灵活的传递分页参数,比如当前页pag ...

  8. springmvc接收ajax传递的数组

    之前的方法我用字符串拼接.req.getParameter("参数名[]");或json方式.虽然都能用,但是都不太令我满意. 今天参考这个贴子,ajax添加 traditiona ...

  9. SpringMVC 学习 十一 springMVC控制器向jsp或者别的控制器传递参数的四种方法

    以后的开发,大部分是发送ajax,因此这四种传递参数的方法,并不太常用.作为了解吧 第一种:使用原生 Servlet 在控制器的响应的方法中添加Servlet中的一些作用域:HttpRequestSe ...

随机推荐

  1. bash: fork: Resource temporarily unavailable

    Last login: Wed Jul 26 09:19:11 2017 from ... -bash: fork: Resource temporarily unavailable -bash-3. ...

  2. 使用任务Task 简化异步编程

    使用任务简化异步编程 Igor Ostrovsky 下载代码示例 异步编程是实现与程序其余部分并发运行的较大开销操作的一组技术. 常出现异步编程的一个领域是有图形化 UI 的程序环境:当开销较大的操作 ...

  3. HTML5 CANVAS 弹幕插件

    概述 修改了普通弹幕运动的算法,新增了部分功能 详细 代码下载:http://www.demodashi.com/demo/10595.html 修改了普通弹幕运动的算法,新增了部分功能,具体请参看附 ...

  4. CSS3饼状loading效果

    概述 之前看到很多饼状loading效果是用图片的方式实现的,本例子采用的是纯CSS3实现,这样可以节省资源空间,有兴趣的小伙伴可以看下~ 详细 代码下载:http://www.demodashi.c ...

  5. Java 性能测试的四项原则

    绝大数的开发人员在日常工作过程中都会或多或少的遇见过性能问题,本文旨在阐述性能测试的理论,从而为性能分析和开发人员做指导.本文对于那些刚刚接触性能调优和正在解决问题的开发人员也能提供一些启发性的思路. ...

  6. PHP实现以UTF8格式截取指定字符串位数

    PHP代码: /* UTF8格式截取字符串,并且指定截取位数 */ function cut_string($string="",$num=20){ if(mb_strlen($s ...

  7. 套接字I/O超时设置方法和用select实现超时

    注:如无特殊说明,sockfd 原始状态都是阻塞的. 一.使用alarm 函数设置超时  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13   void handler( ...

  8. 利用recv和readn函数实现readline函数

    在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便 的.例如设计一种客户端上传文件的协议,规定前12字节表示文 ...

  9. 自己定义View学习之12/7(进度条之混合模式)

    今天重点内容是我们学习自己定义view里面的混合模式.事实上我们的画布就跟photoshop一样.是个图层关系,一层盖着一层.这样就导致有非常多种覆盖模式,这就是我们今天的主题."混合模式& ...

  10. bs-web项目时会经常打断点跟踪信息,可是循环时总是F10、F10的按,那么把所数据打印出来查看会更方便

    bs-web项目时会经常打断点跟踪信息,可是循环时总是F10.F10的按,那么把所数据打印出来查看会更方便 一.打断点的方式适合在有错误产生的时候用很好用. 二.可是在分析数据时不直观,得一个一个循环 ...