SpringMVC之学习(2)值得接收和传递
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)值得接收和传递的更多相关文章
- Springmvc中 同步/异步请求参数的传递以及数据的返回
转载:http://blog.csdn.net/qh_java/article/details/44802287 注意: 这里的返回就是返回到jsp页面 **** controller接收前台数据的方 ...
- SpringMVC项目学习1_web.xml
最近接触的所有项目都是SpringMVC+ajax的项目,因此以一个项目为例学习下. --------------------------------------------------------- ...
- springmvc中同步/异步请求参数的传递以及数据的返回
注意: 这里的返回就是返回到jsp页面 **** controller接收前台数据的方式,以及将处理后的model 传向前台***** 1.前台传递数据的接受:传的属性名和javabean的属性相同 ...
- SpringMVC入门学习(二)
SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...
- SpringMVC入门学习(一)
SpringMVC入门学习(一) ssm框架 spring SpringMVC是一个Java WEB框架,现在我们知道Spring了,那么,何为MVC呢? MVC是一种设计模式,其分为3个方面 mo ...
- springMVC @ModelAttribute学习
springMVC @ModelAttribute学习 博客分类: Spring @ModelAttribute 绑定请求参数到命令对象 @ModelAttribute一个具有如下三个作用: ①绑 ...
- spring controller接口中,用pojo对象接收页面传递的参数,发现spring在对pojo对象赋值时,有一定顺序的问题
1.我的项目中的实体类都继承了基类entityBase,里面封装了分页的一些属性,pageindex.pagesize.pagerownum等. 2.思路是页面可以灵活的传递分页参数,比如当前页pag ...
- springmvc接收ajax传递的数组
之前的方法我用字符串拼接.req.getParameter("参数名[]");或json方式.虽然都能用,但是都不太令我满意. 今天参考这个贴子,ajax添加 traditiona ...
- SpringMVC 学习 十一 springMVC控制器向jsp或者别的控制器传递参数的四种方法
以后的开发,大部分是发送ajax,因此这四种传递参数的方法,并不太常用.作为了解吧 第一种:使用原生 Servlet 在控制器的响应的方法中添加Servlet中的一些作用域:HttpRequestSe ...
随机推荐
- Python pycharm(windows版本)部署spark环境
一 部署本地spark环境 1.1 安装好JDK 下载并安装好jdk1.7,配置完环境变量. 1.2 Spark环境变量配置 去http://spark.apache.o ...
- 深入PHP内核之array_multisort
这个函数是我第一次看手册的时候,没看明白是怎么回事,所以有必要记录一下 用法 bool array_multisort ( array &$arr [, mixed $arg = SORT_A ...
- [转]TCP(HTTP)长连接和短连接区别和怎样维护长连接
原文链接 一.HTTP协议和TCP协议 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题, ...
- 学习Tkinter
tutorial point这个网站教程很多,无所不包.还包括一堆在线IDE,值得收藏 一.第一个tkinter程序 import tkinter top = tkinter.Tk() # Code ...
- 【LeetCode】19. Remove Nth Node From End of List (2 solutions)
Remove Nth Node From End of List Given a linked list, remove the nth node from the end of list and r ...
- 【ERROR】Oracle11g两个监听同名进程的故障
问题: 一个实例启动了另个两个监听. 解决方法: #ps -ef | grep tnslsnr #oracle 925826 1 0 Apr 06 - 234:50 /u01/app/oracle/p ...
- @Html.Display @Html.LabelFor @Html.EditorFor Html.DisplayForModel Html.LabelForModel Html.EditorForModel
- python os库学习笔记
os.getcwd(): 获取当前目录 os.name: 获取当前使用的操作系统 eg: print os.name os.remove(): 删除指定文件 eg: os.remove('test.t ...
- FA_资产成批报废(流程)
2014-06-08 Created By BaoXinjian
- STM32 GPIO口模式配置
F103系列 typedef struct { uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. This pa ...