Spring3 MVC请求参数获取的几种方法

 一、      通过@PathVariabl获取路径中的参数  @RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET) public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMa…

大家好,又见面了,我是全栈君。

 

一、      通过@PathVariabl获取路径中的参数

 

    @RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET)
    public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMap model) {
        
        System.out.println(id);
        System.out.println(name);
        model.addAttribute("message", "111111");
        return "users";
    }

 

例如,访问user/123/lei路径时,执行以上方法,其中,参数id=123,name=lei

 

二、      @ModelAttribute获取POST请求的FORM表单数据

JSP表单如下

<form method="post" action="hao.do">
    a: <input id="a" type="text"   name="a"/>
    b: <input id="b" type="text"   name="b"/>
    <input type="submit" value="Submit" />
 </form>

 

Java  Pojo如下

    public class Pojo{
        private String a;
        private int b;
    }

 

Java Controller如下

@RequestMapping(method = RequestMethod.POST) 
public String processSubmit(@ModelAttribute("pojo") Pojo pojo) { 
    
    return "helloWorld"; 
}

三、      直接用HttpServletRequest获取

@RequestMapping(method = RequestMethod.GET) 
public String get(HttpServletRequest request, HttpServletResponse response) { 
   System.out.println(request.getParameter("a")); 
    return "helloWorld"; 
}

 

四、      用注解@RequestParam绑定请求参数

用注解@RequestParam绑定请求参数a到变量a

当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,

例如: @RequestParam(value=”a”, required=false)

Controller如下

@RequestMapping(value = "/requestParam", method = RequestMethod.GET) 
public String setupForm(@RequestParam("a") String a, ModelMap model) { 
   System.out.println(a); 
return "helloWorld";

}

转载:Spring3 MVC请求参数获取的几种方法

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121258.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月24日 下午7:00
下一篇 2022年2月24日 下午7:00


相关推荐

  • 主成分分析

    主成分分析

    2021年12月17日
    45
  • N8N自动化教程:如何用Reddit API打造AI驱动的内容收集系统

    N8N自动化教程:如何用Reddit API打造AI驱动的内容收集系统

    2026年3月15日
    2
  • 【云原生专题】基于Docker+Neo4j图数据库搭建企业级分布式应用拓扑图

    【云原生专题】基于Docker+Neo4j图数据库搭建企业级分布式应用拓扑图图数据库是 NoSQL 领域中的一种 在处理相关联的大数据方面比关系型数据库天然具有优势 近年来在知识图谱 金融风控 社交关系等场景中发挥了重要的角色功能 同时 图数据库在 AI 领域 天然适合诸如记忆提取 关联推理 归纳探索等场景 成为了人工智能领域不可缺少的部分 Neo4J 是比较通用和常见的图数据库 具有社区版和企业版之分 普通学习使用免费的社区版即可 Neo4J 还提供了一个 Web 访问的可视化执行与查询的界面 类似 ElasticSearc 一样 非常容易上手

    2026年3月16日
    2
  • 解决打不开SQL Server配置管理器的问题[通俗易懂]

    解决打不开SQL Server配置管理器的问题[通俗易懂]最近被SqlServer搞得贼烦,下了俩次SQLSERVER,重装了一次系统,先对这次遇到的问题发一下感慨:深深地意识到权限的重要性了,一般计算机里面的软件都有不同的访问权限,普通用户(Users)、管理员(Administrators)、SYSTEM等等,以不同的身份去对这个软件进行操作时,就会有不同的访问权限,一般Administrator的权限是最大的 1)安…

    2022年7月20日
    19
  • IntelliJ IDEA 2021.10 激活码【2021免费激活】「建议收藏」

    (IntelliJ IDEA 2021.10 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日
    512
  • redis搭建集群并用TreeSoft管理

    redis搭建集群并用TreeSoft管理前言 redis 作为一款高效的 NOSQL 数据库已经深入贯彻和落实到我们的日常开发代码中 作为缓存 时间控制 数据仓库 队列等使用方法层出不穷 简直是开写代码 居家旅行之必备良药 曾经 我们的项目都是单体的 直到后来逐渐演变为微服务 一个将我们的工程解耦成多个工程的体系 然后随着我们项目的访问量越来越高 后台的吞吐量也越来越大 如果我们还采用的单体 redis 性能很容易形成瓶颈 如何突破单体 r

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号