ylbtech-Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式
1.返回顶部
1、

常用的一些Spring MVC的路由写法以及参数传递方式。

这是一些测试代码:

  1. package com.my.controller;
  2.  
  3. import java.io.PrintWriter;
  4. import java.util.Date;
  5.  
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8.  
  9. import org.springframework.format.annotation.DateTimeFormat;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.ui.Model;
  12. import org.springframework.web.bind.annotation.PathVariable;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestMethod;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. import org.springframework.web.bind.annotation.ResponseBody;
  17. import org.springframework.web.servlet.ModelAndView;
  18.  
  19. @Controller
  20. @RequestMapping(value="/default")
  21. public class TestController {
  22.  
  23. /**
  24. * 使用ModelAndView
  25. * @return
  26. */
  27. @RequestMapping("/")
  28. public ModelAndView index() {
  29. ModelAndView mv = new ModelAndView();
  30. mv.addObject("message", "This is index!");
  31. mv.setViewName("index");
  32. return mv;
  33. }
  34.  
  35. /**
  36. * 使用Model
  37. * @param model
  38. * @return
  39. */
  40. @RequestMapping("/index2")
  41. public String index2(Model model) {
  42. model.addAttribute("message", "This is index2!");
  43. return "index2";
  44. }
  45.  
  46. /**
  47. * 直接返回内容
  48. * @return
  49. */
  50. @RequestMapping(value="/index3", method=RequestMethod.GET)
  51. @ResponseBody
  52. public String index3() {
  53. return "This is index3!";
  54. }
  55.  
  56. /**
  57. * 直接返回对应的index4的view
  58. */
  59. @RequestMapping(value="/index4", method=RequestMethod.GET)
  60. public void index4() {
  61. }
  62.  
  63. /**
  64. * 直接返回index5的view,注意方法后缀:Handler
  65. * 比较与index4的区别
  66. */
  67. @RequestMapping(value="/index5", method=RequestMethod.GET)
  68. public void index5Handler() {
  69. }
  70.  
  71. /**
  72. * 传参方式调用
  73. * @param message
  74. * @return
  75. */
  76. @RequestMapping(value="/index6/{message}", method=RequestMethod.GET)
  77. public ModelAndView index6(@PathVariable String message) {
  78. ModelAndView view = new ModelAndView("index6");
  79. view.addObject("message", message);
  80. return view;
  81. }
  82.  
  83. /**
  84. * 传参方式调用,使用Model
  85. * 注意方法内的Model是直接addAttribute,没有key
  86. * 区别index6
  87. * @param message
  88. * @param model
  89. * @return
  90. */
  91. @RequestMapping(value="/index7/{message}", method=RequestMethod.GET)
  92. public String index7(@PathVariable String message, Model model) {
  93. model.addAttribute(message);
  94. return "index6";
  95. }
  96.  
  97. /**
  98. * 传参调用
  99. * 指定参数名称
  100. * @param userName
  101. * @param password
  102. * @return
  103. */
  104. @RequestMapping(value="/index8/{username}/{password}")
  105. public ModelAndView index8(@PathVariable("username") String userName, @PathVariable("password") String password) {
  106. ModelAndView view = new ModelAndView("index8");
  107. view.addObject("userName", userName);
  108. view.addObject("password", password);
  109. return view;
  110. }
  111.  
  112. /**
  113. * 使用request/response取得参数
  114. * @param request
  115. * @param response
  116. * @return
  117. */
  118. @RequestMapping(value="/index9")
  119. public String index9(HttpServletRequest request, HttpServletResponse response) {
  120. String message = request.getParameter("message");
  121. request.setAttribute("message", message);
  122. return "index9";
  123. }
  124.  
  125. /**
  126. * 使用@RequestParam方式取得参数
  127. * @param message
  128. * @return
  129. */
  130. @RequestMapping(value="/index10")
  131. public ModelAndView index10(@RequestParam("message") String message) {
  132. ModelAndView view = new ModelAndView("index10");
  133. view.addObject("message", message);
  134. return view;
  135. }
  136.  
  137. /**
  138. * 默认传参方式
  139. * @param message
  140. * @param model
  141. * @return
  142. */
  143. @RequestMapping(value="/index11")
  144. public String index11(String message, Model model) {
  145. model.addAttribute("message", message);
  146. return "index10";
  147. }
  148.  
  149. /**
  150. * 传入PrintWriteer,也可以传入@CookieValue
  151. * @param out
  152. * @param message
  153. * @param model
  154. * @return
  155. */
  156. @RequestMapping(value="/index12")
  157. public String index12(PrintWriter out, String message, Model model) {
  158. out.println(message);
  159. model.addAttribute("message", message);
  160. return "index10";
  161. }
  162.  
  163. /**
  164. * 日期参数
  165. * @param day
  166. * @return
  167. */
  168. @RequestMapping(value="/index13")
  169. public ModelAndView index13(@RequestParam("day") @DateTimeFormat(pattern="yyyy-MM-dd") Date day) {
  170. ModelAndView view = new ModelAndView("index10");
  171. view.addObject("message", day.toString());
  172. return view;
  173. }
  174.  
  175. /**
  176. * 默认action
  177. * @param message
  178. * @return
  179. */
  180. @RequestMapping
  181. public ModelAndView index14(String message) {
  182. ModelAndView view = new ModelAndView("index");
  183. view.addObject("message", message);
  184. return view;
  185. }
  186.  
  187. /**
  188. * 限制访问的地址,必需有参数p=1才能触发
  189. * @param message
  190. * @param model
  191. * @return
  192. */
  193. @RequestMapping(value="/index15/{message}", params="p=1", method=RequestMethod.GET)
  194. public String index15(@PathVariable("message") String message, Model model) {
  195. model.addAttribute("message", message);
  196. return "index";
  197. }
  198.  
  199. }
2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
 
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式的更多相关文章

  1. ASP.NET CORE(C#)与Spring Boot MVC(JAVA)

    干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结   目录 C# VS JAVA 基础语法类比篇: 一.匿名类 二.类型初始化 三.委托(方 ...

  2. java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试

    本内容摘自 java web轻量级开发面试教程 https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80% ...

  3. Java 本地开发环境搭建(框架采用 Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6)

    项目搭建采用技术栈为:Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6 搭建环境文档目录结构说明: 使用Intellj Idea 搭建项目过 ...

  4. Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis

    https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html?tid=6 ...

  5. Java秋招面试复习大纲(二):Spring全家桶+MyBatis+MongDB+微服务

    前言 对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外,剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容. 这里说「天方夜谭」 ...

  6. 五分钟学Java:一篇文章带你搞懂spring全家桶套餐

    原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 什么是Spring,为什么你要学习spring? 你第一次接触spring框架是在 ...

  7. Java开发工程师最新面试题库系列——Spring部分(附答案)

    Spring Spring框架是什么? 答:Spring是轻量级的面向切面和控制反转的框架.初代版本为2002年发布的interface21,Spring框架是为了解决企业级应用开发的复杂性的出现的, ...

  8. .net和java和谐相处之安卓客户端+.net asp.net mvc webapi 2

    作为没有花很多时间转java,把java当C#用的我,在做服务器端程序的时候,自然不想考虑java web,java需要学的框架太多了,看了一下Java Servlet,始终没有编码的冲动.经过几天的 ...

  9. [置顶] Java Web学习总结(24)——SSM(Spring+SpringMVC+MyBatis)框架快速整合入门教程

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One  ...

随机推荐

  1. vim的快捷键大全

    vim是开发利器,掌握快捷可以事半功倍,这里总结下常用的快捷键,提高开发速度这里写代码片 1.vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来 ...

  2. jquery radio、 checkbox、 select 操作

    转载:http://www.haorooms.com/post/checkandselect $("input[id^='code']");//id属性以code开始的所有inpu ...

  3. HDU_1398_母函数

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  4. Robot Framework(八) 资源和变量文件

    2.7资源和变量文件 测试用例文件和测试套件初始化文件中的用户关键字和变量只能在创建它们的文件中使用,但资源文件提供了共享它们的机制.由于资源文件结构非常接近测试用例文件,因此很容易创建它们. 变量文 ...

  5. element-ui按需引入

    { "name": "vue-test2", "description": "A Vue.js project", &q ...

  6. PS通道的界面颜色设置

    编辑--首选项---界面--界面---选项---(勾选)以彩色显示通道(彩色显示)或者不勾选(为黑白色显示)

  7. 记录:Ubuntu下升级Python从2.x到3.x

    一.安装Python3 在Ubuntu中的终端输入:sudo apt-get install python3 提示资源被锁住,可能有另外一个程序在占用此资源. 解决方法:输入以下指令解锁资源 sudo ...

  8. CodeForces-999D Equalize the Remainders (贪心+神奇的STL)

    题意:给你一个n,m;其中n一定能被m整除,然后给你n个数 有一种操作   选择n个数中的任意一个,使其+1: 条件: Ci 属于[0,m-1]  Ci代表ai模m的余数为i的个数 且都等于n/m; ...

  9. nyoj4-ASCII码排序

    ASCII码排序 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N, ...

  10. 使用Linux自带的命令logrotate对Nginx日志进行切割

    说明: Nginx安装目录:/usr/local/nginx/Nginx日志目录:/var/log/nginx/error/*.log /var/log/nginx/access/w1/*.log / ...