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

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

这是一些测试代码:

package com.my.controller;

import java.io.PrintWriter;
import java.util.Date; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; @Controller
@RequestMapping(value="/default")
public class TestController { /**
* 使用ModelAndView
* @return
*/
@RequestMapping("/")
public ModelAndView index() {
ModelAndView mv = new ModelAndView();
mv.addObject("message", "This is index!");
mv.setViewName("index");
return mv;
} /**
* 使用Model
* @param model
* @return
*/
@RequestMapping("/index2")
public String index2(Model model) {
model.addAttribute("message", "This is index2!");
return "index2";
} /**
* 直接返回内容
* @return
*/
@RequestMapping(value="/index3", method=RequestMethod.GET)
@ResponseBody
public String index3() {
return "This is index3!";
} /**
* 直接返回对应的index4的view
*/
@RequestMapping(value="/index4", method=RequestMethod.GET)
public void index4() {
} /**
* 直接返回index5的view,注意方法后缀:Handler
* 比较与index4的区别
*/
@RequestMapping(value="/index5", method=RequestMethod.GET)
public void index5Handler() {
} /**
* 传参方式调用
* @param message
* @return
*/
@RequestMapping(value="/index6/{message}", method=RequestMethod.GET)
public ModelAndView index6(@PathVariable String message) {
ModelAndView view = new ModelAndView("index6");
view.addObject("message", message);
return view;
} /**
* 传参方式调用,使用Model
* 注意方法内的Model是直接addAttribute,没有key
* 区别index6
* @param message
* @param model
* @return
*/
@RequestMapping(value="/index7/{message}", method=RequestMethod.GET)
public String index7(@PathVariable String message, Model model) {
model.addAttribute(message);
return "index6";
} /**
* 传参调用
* 指定参数名称
* @param userName
* @param password
* @return
*/
@RequestMapping(value="/index8/{username}/{password}")
public ModelAndView index8(@PathVariable("username") String userName, @PathVariable("password") String password) {
ModelAndView view = new ModelAndView("index8");
view.addObject("userName", userName);
view.addObject("password", password);
return view;
} /**
* 使用request/response取得参数
* @param request
* @param response
* @return
*/
@RequestMapping(value="/index9")
public String index9(HttpServletRequest request, HttpServletResponse response) {
String message = request.getParameter("message");
request.setAttribute("message", message);
return "index9";
} /**
* 使用@RequestParam方式取得参数
* @param message
* @return
*/
@RequestMapping(value="/index10")
public ModelAndView index10(@RequestParam("message") String message) {
ModelAndView view = new ModelAndView("index10");
view.addObject("message", message);
return view;
} /**
* 默认传参方式
* @param message
* @param model
* @return
*/
@RequestMapping(value="/index11")
public String index11(String message, Model model) {
model.addAttribute("message", message);
return "index10";
} /**
* 传入PrintWriteer,也可以传入@CookieValue
* @param out
* @param message
* @param model
* @return
*/
@RequestMapping(value="/index12")
public String index12(PrintWriter out, String message, Model model) {
out.println(message);
model.addAttribute("message", message);
return "index10";
} /**
* 日期参数
* @param day
* @return
*/
@RequestMapping(value="/index13")
public ModelAndView index13(@RequestParam("day") @DateTimeFormat(pattern="yyyy-MM-dd") Date day) {
ModelAndView view = new ModelAndView("index10");
view.addObject("message", day.toString());
return view;
} /**
* 默认action
* @param message
* @return
*/
@RequestMapping
public ModelAndView index14(String message) {
ModelAndView view = new ModelAndView("index");
view.addObject("message", message);
return view;
} /**
* 限制访问的地址,必需有参数p=1才能触发
* @param message
* @param model
* @return
*/
@RequestMapping(value="/index15/{message}", params="p=1", method=RequestMethod.GET)
public String index15(@PathVariable("message") String message, Model model) {
model.addAttribute("message", message);
return "index";
} }
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. 关于基础的Set 和Get

    先附上一篇文章,讲的很清楚 在Core中,我们要是先这样设置了.在我们对这个上下文做查询工作的时候,例如: var head = _OMSECDatabase.OmsEcorderHead.Where ...

  2. POJ 3041 - 最大二分匹配

    这道题实现起来还是比较简单的,但是理解起来可能有点困难. 我最开始想到的是贪心法,每次消灭当前小行星最多的一行或一列.然而WA了.Discuss区里已经有高人给出反例. 下面给出正确的解法 我们把行和 ...

  3. 安卓代码迁移:Make.exe: *** [***.o]Error 1

    描述:NDK开发中显示,windows环境下NDK开发 解决办法:查找系统环境变量,找到关于Cygwin的环境变量或其他无效的环境变量删除处理.

  4. AFNetworking源码解析-https证书相关

    本篇说说安全相关的AFSecurityPolicy模块,AFSecurityPolicy用于验证HTTPS请求的证书,先来看看HTTPS的原理和证书相关的几个问题. HTTPS HTTPS连接建立过程 ...

  5. 小程序viewflex布局的对齐不对的问题

    index.wxml: <view class="container"> <view class="nav-container"> &l ...

  6. Java中RunTime.getRunTime().addShutdownHook用法

    今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下: Runtime.getRuntime() ...

  7. PAT_A1153#Decode Registration Card of PAT

    Source: PAT A1153 Decode Registration Card of PAT (25 分) Description: A registration card number of ...

  8. 关于 docsify ssr 的研究

    关于 docsify ssr 的研究 docsify 虽然不错, 但是不支持 seo .官网虽然提供 seo 的一个简单示例, 但总总问题在 issues 中无人解答. 今天再次尝试, 解决了 ind ...

  9. swift-导航栏添加自定义返回按钮

    //1.添加返回按钮 func addBackBtn(){ let leftBtn:UIBarButtonItem=UIBarButtonItem(title: "返回", sty ...

  10. 洛谷 P2144 BZOJ 1003 [FJOI2007]轮状病毒

    题目描述 轮状病毒有很多变种.许多轮状病毒都是由一个轮状基产生.一个n轮状基由圆环上n个不同的基原子和圆心的一个核原子构成.2个原子之间的边表示这2个原子之间的信息通道,如图1. n轮状病毒的产生规律 ...