Spring入门学习手册 6:Spring MVC基础中的基础

栏目: Java · 发布时间: 7年前

内容简介:Spring获取请求参数非常简单,只要用到如果不指定请求代码是下面这样:

Spring获取请求参数非常简单,只要用到 @RequestParam 注解就可以了

如果不指定请求 method 的话,无论是 get 还是 post 参数都可以轻易获取到

代码是下面这样:

package com.learn.springMVCDemo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class RequestController {

    @RequestMapping("requestDemo")
    public String doRequest(Model model, @RequestParam(name="info", defaultValue = "some information") String info) {
        model.addAttribute("info", info);
        return "hello";
    }
}
复制代码

在这段代码中 @RequestParam 注解的括号中 name 表示参数名, defaultValue 指明默认的参数值。

GET方法请求这个页面: 访问地址 http://localhost:8080/LearnSpringMVCDemoFirst_war/requestDemo?info=helloWorldFromGETMethod

运行效果:

Spring入门学习手册 6:Spring MVC基础中的基础

POST方法请求这个页面:

访问地址 http://localhost:8080/LearnSpringMVCDemoFirst_war/

提交表单

Spring入门学习手册 6:Spring MVC基础中的基础

运行结果

Spring入门学习手册 6:Spring MVC基础中的基础

二、页面重定向

重定向的时候只要在返回的时候加上 redirect 就可以了:

package com.learn.springMVCDemo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class RedirectController {

    @RequestMapping("redirect")
    public String redirectDemo(Model model) {

        model.addAttribute("message", "redirectInfo");
        //重定向
        return "redirect:/demo";
    }

}
复制代码

上面的代码就是重定向到 /demo 页面了。

访问地址: localhost:8080/LearnSpringMVCDemoFirst_war/redirect

Spring入门学习手册 6:Spring MVC基础中的基础

三、获取URI路径(@PathVariable)

package com.learn.springMVCDemo;


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.servlet.ModelAndView;

@Controller
public class PathVariableController {

    @RequestMapping("path/{prefix}/{name}/{suffix}")
    public ModelAndView PathDemo(Model model,
                                 @PathVariable(value = "prefix") String prefix,
                                 @PathVariable(value = "name") String name,
                                 @PathVariable(value = "suffix") String suffix) {
        ModelAndView mv = new ModelAndView("hello");
        mv.addObject("message","website URI path");
        model.addAttribute("prefix", prefix);
        model.addAttribute("name", name);
        model.addAttribute("suffix", suffix);
        return mv;
    }


}
复制代码

@RequestMapping 的括号中固定一个以上的路径名称,然后给分固定的路径名称直接加上大括号,在请求映射的方法参数中加上 @PathVariable 注解的参数中,按照先后顺序一一对应就可以获取到路径名称。

运行结果:

Spring入门学习手册 6:Spring MVC基础中的基础

四、不返回视图直接返回字符串

@RequestMapping("ResponseBody")
@ResponseBody
public String RequestBody() {
    return "request body message!!!";
}
复制代码

在请求映射方法前直接加上 @ResponseBody 注解,那么返回的就不是视图,而直接是ResponseBody

运行结果:

Spring入门学习手册 6:Spring MVC基础中的基础
Spring入门学习手册 6:Spring MVC基础中的基础

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python语言程序设计

Python语言程序设计

(美)Y. Daniel Liang / 机械工业出版社 / 2013-3 / 79.00元

本书保持了Liang博士系列丛书中一贯的、标志性的教与学的哲学:以实例教,由实践学。书中采用了他所提出的已经经过实践检验的“基础先行”的方法,即在定义类之前,首先使用清晰简明的语言介绍基本程序设计概念,如选择语句、循环和函数;在介绍面向对象程序设计和GUI编程之前,首先介绍基本逻辑和程序设计概念。书中除了给出一些以游戏和数学为主的典型实例外,还在每章的开始使用简单的图形给出一两个例子,以激发学生的......一起来看看 《Python语言程序设计》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具