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 ...
随机推荐
- ORACLE—005:创建JOB(一)
JOB在实际应用中.使用非常多.一般用户定时运行某些函数,存储过程等. 以下看看怎样创建并启动JOB. 比如,使用job定时运行某个存储过程. 存储过程名:Pro_Test_JOB 运行间隔:2小时, ...
- iOS 9 适配中出现的坑
整理 iOS 9 适配中出现的坑(图文) 2015-10-22 iOS开发 库克表示:“现在在中国有150多万的开发者在iOS当中开发应用程序,我们鼓励更多的人开发应用程序,也鼓励更多的创业加入.” ...
- 介绍一款chrom浏览器插件 DHC是一款使用chrome模拟REST客户端向服务器发送测试数据的谷歌浏览器插件
先打个小广告哈 公司招java架构师,月薪25K以上,负责电商平台架构工作,工作地点在北京 1号线永安里站 附近,如有意向 请把简历发我邮箱jia6235@163.com 可以内部推荐. DHC是一款 ...
- Linux命令-终止进程命令:killall
强制杀死所有进程,注意它后面跟着是进程名而不是进程号 killall - httpd 杀死apache所有进程pstree -p | grep httpd 查看apache进程就没有了service ...
- CoreText实现图文混排之文字环绕及点击算法
系列文章: CoreText实现图文混排:http://www.jianshu.com/p/6db3289fb05d CoreText实现图文混排之点击事件:http://www.jianshu.co ...
- Kafka server部署配置优化
Kafka配置优化其实都是修改server.properties文件中参数值 1.网络和io操作线程配置优化 # broker处理消息的最大线程数 num.network.threads ...
- oc set/get方法
新建一个“Cocoa Touch Class”文件,命名为People People.h 写入 @interface People : NSObject @property int age; @end ...
- ie11 下 input 默认有 X 关闭按钮的问题
&::-ms-clear, ::-ms-reveal{display: none;}
- Android开发11——手机横屏和竖屏与android:configChanges
目前大多数手机都支持重力感应随之而来的就是屏幕方向改变的问题.对应普通开发者来说屏幕的随意改变也会带来困扰.在Google自带的doc里可以看到,如果设备的配置(Resources.Configura ...
- php的安装
首先我们安装nginx #0.安装ningx(可选cd /disk1/toolsrpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/ngi ...