[Spring MVC] - 地址路由使用(一)
常用的一些Spring MVC的路由写法以及参数传递方式。
参考引用:
http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/mvc.html
这是一些测试例子:
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";
} }
[Spring MVC] - 地址路由使用(一)的更多相关文章
- Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式
ylbtech-Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式 1.返回顶部 1. 常用的一些Spring MVC的路由写法以及参数传递方式. 这是 ...
- Spring mvc创建的web项目,如何获知其web的项目名称,访问具体的链接地址?
Spring mvc创建的web项目,如何获知其web的项目名称,访问具体的链接地址? 访问URL: http://localhost:8090/firstapp/login 在eclipse集成的 ...
- Spring mvc源码url路由-我们到底能走多远系列(38)
我们到底能走多远系列38 扯淡: 马航的事,挺震惊的.还是多多珍惜身边的人吧. 主题: Spring mvc 作为表现层的框架,整个流程是比较好理解的,毕竟我们做web开发的,最早也经常接触的就是一个 ...
- 使用Spring mvc接收整个url地址及参数时注意事项
使用Spring mvc接收整个url地址及参数时注意事项:url= http://baidu?oid=9525c1f2b2cd45019b30a37bead6ebbb&td=2015-08- ...
- 基于Spring Boot构建的Spring MVC快速入门
原文地址:http://tianmaying.com/tutorial/spring-mvc-quickstart 环境准备 一个称手的文本编辑器(例如Vim.Emacs.Sublime Text)或 ...
- Spring MVC URL传参
Spring MVC 学习 之 - URL参数传递 在学习 Spring Mvc 过程中,有必要来先了解几个关键参数: @Controller: 在类上注解,则此类将编程一个控制器,在项目启 ...
- Spring MVC中页面向后台传值的几种方式
在学习 Spring Mvc 过程中,有必要来先了解几个关键参数: @Controller: 在类上注解,则此类将编程一个控制器,在项目启动 Spring 将自动扫描此类,并进行对 ...
- 改造继续之eclipse集成tomcat开发spring mvc项目配置一览
在上一篇的环境配置中,你还只能基于maven开发一个javase的项目,本篇来看如果开发一个web项目,所以还得配置一下tomcat和spring mvc. 一:Tomcat安装 在.net web开 ...
- 朱晔和你聊Spring系列S1E4:灵活但不算好用的Spring MVC
阅读PDF版本 本文会以一些例子来展现Spring MVC的常见功能和一些扩展点,然后我们来讨论一下Spring MVC好用不好用. 使用SpringBoot快速开始 基于之前的parent模块,我们 ...
随机推荐
- [转]去除inline-block元素间间距的N种方法
来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] 一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,很简单的个例子 ...
- c#中对json数据的序列化和反序列化(笔记)
今天遇到在后台中要获取json格式数据里的某些值,网上查了些资料: string jsonstr = _vCustomerService.LoadCustomerbyNumTotalData(quer ...
- iOS开发UI篇—Quartz2D使用(矩阵操作)
iOS开发UI篇—Quartz2D使用(矩阵操作) 一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: - (void)drawRect:(CGRect)r ...
- .htaccess根据IP地址限制访问
屏蔽IP地址 屏蔽IP地址有时是非常必要的,比如对于一个外贸公司网站,来自国内的访问是不会带来任何经济效益的,而且还占用服务器资源,造成访问延迟等问题. 如果要屏蔽某一特定IP可以使用: order ...
- bzoj 3171: [Tjoi2013]循环格
#include<cstdio> #include<iostream> #include<cstring> #define M 10000 #define inf ...
- 使用Jsoup 抓取页面的数据
需要使用的是jsoup-1.7.3.jar包 如果需要看文档我下载请借一步到官网:http://jsoup.org/ 这里贴一下我用到的 Java工程的测试代码 package com.javen ...
- iptables基本规则
注意:iptables只能被拥有超级权限的用户设置. 重启 清空 iptables 规则:在终端输入: iptables -F iptables -X iptables -t nat -F i ...
- 计算机网络(7)-----TCP协议概述
传输控制协议(Transmission Control Protocol) 概念 一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中,它 ...
- C语言基础--二维数组
二维数组概念: 数组中的每一个元素又是一个数组, 那么这个数组就称之为二维数组,二维数组是特殊的一维数组. 二维数组格式: 元素类型 数组名称[一维数组的个数][每个一维数组的元素个数]; 元素类型 ...
- 在服务器端将XML转换成HTML
以下是在服务器上转换XML文件所需要的简单源代码: <% 'Load the XML set xml = Server.CreateObject("Microsoft.XMLDOM&q ...