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. [SpriteKit] 系统框架中Cocos2d-x制作小游戏ZombieConga

    概述 使用SpriteKit实现一个简单的游戏, 通过一个游戏来进行SpriteKit的入门, 熟练2D游戏的API, 也可以更好的结合在iOS应用中. 详细 代码下载:http://www.demo ...

  2. 开源大数据技术专场(下午):Databircks、Intel、阿里、梨视频的技术实践

    摘要: 本论坛第一次聚集阿里Hadoop.Spark.Hbase.Jtorm各领域的技术专家,讲述Hadoop生态的过去现在未来及阿里在Hadoop大生态领域的实践与探索. 开源大数据技术专场下午场在 ...

  3. 在win7/8下搭建简易的无线平台

    资料:http://www.cnblogs.com/KeenLeung/p/3482073.html http://www.cnblogs.com/KeenLeung/p/3481998.html 其 ...

  4. jquery实现高度的获取-位置函数

    一.位置函数 1.offset() 获取匹配元素在当前视口的相对偏移.返回的对象包含两个整形属性:top 和 left.此方法只对可见元素有效. 2.innerWidth() 获取第一个匹配元素内部区 ...

  5. Linux命令-下载文件的工具:wget

    Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协 ...

  6. linux内存回收机制

    无论计算机上有多少内存都是不够的,因而linux kernel需要回收一些很少使用的内存页面来保证系统持续有内存使用.页面回收的方式有页回写.页交换和页丢弃三种方式:如果一个很少使用的页的后备存储器是 ...

  7. php 利用转转法去除重复数组

    w3scool学习地址 http://www.w3school.com.cn/tiy/s.asp?f=demo_php_func_array_flip 利用array键名不能重复的原理,使用两次 ar ...

  8. Latex 附录生成方法-附使用的一些tips

    Latex 附录生成方法-附使用的一些tips 工具 使用latex写论文时,国内科研人员使用比较多的前端工具当属CTex,另外的前度工具有texstdio,texworks,sublime,甚至vi ...

  9. spring boot 整合 redis

    自己开发环境需要安装 redis 服务,百度一下很多,下面主要说明Springboot 集成 redis 讲解 我的版本 java8 + redis3.0 + springboot 1.5.9. Sp ...

  10. ubuntu常用的一些命令

    1 添加root用户 其实ubuntu在安装时已经添加了root用户,只是屏蔽了.所以只需要激活即可.打开终端ctrl+alt+t,输入sudo passwd root,然后输入要添加给root的密码 ...