在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取。这里主要讲这个注解
一、基本使用,获取提交的参数
后端代码:
@RequestMapping("testRequestParam")
public String filesUpload(@RequestParam String inputStr, HttpServletRequest request) {
System.out.println(inputStr);
int inputInt = Integer.valueOf(request.getParameter("inputInt"));
System.out.println(inputInt);
// ......省略
return "index";
}
前端代码:
<form action="/gadget/testRequestParam" method="post">
参数inputStr:<input type="text" name="inputStr">
参数intputInt:<input type="text" name="inputInt">
</form>
前端界面:
执行结果:
test1
123
可以看到spring会自动根据参数名字封装进入,我们可以直接拿这个参数名来用
二、各种异常情况处理
1、可以对传入参数指定参数名
@RequestParam String inputStr
// 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错
@RequestParam(value="aa") String inputStr
错误信息:
HTTP Status 400 - Required String parameter 'aa' is not present
2、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
// required=false表示不传的话,会给参数赋值为null,required=true就是必须要有
@RequestMapping("testRequestParam")
public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request)
3、如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果不传参数值会报错,因为不传值,会赋值为null给int,这个不可以
@RequestMapping("testRequestParam")
public String filesUpload(@RequestParam(value="aa", required=true) String inputStr,
@RequestParam(value="inputInt", required=false) int inputInt
,HttpServletRequest request) {
// ......省略
return "index";
}
解决方法:
“Consider declaring it as object wrapper for the corresponding primitive type.”建议使用包装类型代替基本类型,如使用“Integer”代替“int”
- 大小: 3 KB
分享到:
相关推荐
SpringMVC注解@RequestParam方法原理解析 @RequestParam是SpringMVC中一个非常重要的注解,用于接收来自前端的参数值。下面我们将对@RequestParam方法原理解析进行详细的介绍。 一、作用 @RequestParam可以作用在...
1. **基本用法**:将`@RequestParam` 注解应用于方法参数,如`@RequestParam("name") String userName`,表示从请求中获取名为"name"的参数并将其值赋给变量`userName`。 2. **默认值**:可以为`@RequestParam` ...
本文将深入解析`@RequestParam`的工作原理及其关键特性。 首先,`@RequestParam` 包含四个主要参数: 1. `String name`:指定请求参数的名称,用于匹配HTTP请求中的查询参数或表单数据。 2. `String value`:与`...
SpringMvc 框架中的 @RequestParam 注解是一种常用的参数注解,用于将 HTTP 请求参数绑定到方法参数上。该注解提供了多种参数类型的支持,包括基本数据类型和包装类型。在使用 @RequestParam 注解时,建议使用包装...
在Spring MVC框架中,`@Controller`、`@RequestMapping`、`@RequestParam`以及`ModelAndView`是四个关键的注解,它们对于构建基于Java的Web应用程序至关重要。下面将详细介绍这些概念及其在实际开发中的应用。 `@...
在这个"springmvc注解简单实例"中,我们将深入探讨Spring MVC中的一些关键注解,以及它们在DAO层、Service层和Controller层中的应用。让我们逐一解析这些层面的注解使用。 首先,我们来到**DAO层**。在Spring MVC中...
本文将深入解析SpringMVC如何处理GET和POST请求中的参数,以及如何使用@RequestParam和@RequestBody注解。 1. GET请求 GET请求通常用于获取资源,其参数直接附加在URL路径后面,以键值对的形式存在。例如,`/api/...
本文档将深入解析 Spring MVC 中的核心注解,帮助开发者更好地理解和使用这些注解进行高效开发。 ### 1. `@Controller` `@Controller` 注解是 Spring MVC 中的关键注解,用于标记一个类作为 MVC 应用中的控制器。...
在"SPRINGMVC 注解范例程序"中,我们可以深入理解 Spring MVC 如何利用注解进行配置简化,提高开发效率。下面将详细介绍 Spring MVC 中的关键注解和其工作原理。 1. **@Controller**:这是 Spring MVC 中的核心注解...
在“springMVC 注解版”中,我们将主要关注如何使用注解来简化 Spring MVC 的配置和开发过程。 在传统的 Spring MVC 中,我们需要通过 XML 配置文件来声明控制器、模型、视图等组件,但随着注解的引入,我们可以...
例如,使用注解来定义控制器和处理方法,但通过XML配置来设置全局策略,如拦截器、视图解析器等。 综上所述,Spring MVC的注解和非注解方式各有优势,选择哪种方式取决于项目需求、团队习惯和个人偏好。理解并熟练...
在"springmvc学习笔记--springmvc注解开发.zip"这个压缩包中,我们可以深入探讨Spring MVC的注解驱动开发方式,这是一种简洁且高效的开发模式。 1. **Spring MVC基础**: Spring MVC的核心组件包括...
在本文中,我们将深入探讨“注解式Spring MVC”的概念及其在实际开发中的应用。Spring MVC是Spring框架的一部分,主要用于构建Web应用程序。它利用注解简化了配置过程,提高了开发效率。 1. **注解基础** 在Spring...
**基于注解的SpringMVC简介** SpringMVC是Spring框架的一个模块,主要负责处理Web应用的请求和响应。在传统的SpringMVC配置中,我们需要通过XML文件来配置控制器、视图解析器、模型-视图-控制器(MVC)的各个组件。...
"SpringMVC纯注解配置"是SpringMVC框架的一种高级用法,旨在减少XML配置文件的使用,提高开发效率和代码可读性。在这个主题中,我们将深入探讨如何利用注解实现SpringMVC的配置以及jQuery如何处理后台返回的JSON对象...
通过这个"springMVC注解开发代码"项目,开发者可以学习到如何使用注解进行 Spring MVC 应用的完整开发,包括控制器、模型绑定、视图解析、异常处理等多个核心概念。同时,结合 `pom.xml` 文件管理和依赖,可以更好地...
此外,还需要配置SpringMVC的相关设置,包括处理器映射器、视图解析器以及文件上传的配置。这些配置通常在`WebApplicationContext`的配置文件(如`dispatcher-servlet.xml`)中完成。 最后,为了展示结果,你可能...
在Spring MVC框架中,注解的使用极大地简化了配置,提高了开发效率。本文将深入探讨如何基于注解实现Spring MVC的范例,旨在为初学者提供一个清晰的入门指南。 一、Spring MVC简介 Spring MVC是Spring框架的一部分...
3. `springmvc-config.xml`:SpringMVC的配置文件,定义处理器映射器、视图解析器等。 4. `flex-servlet.xml`:BlazeDS的配置文件,用于配置消息经纪人和服务。 通过以上配置,我们可以创建一个高效的Java Web应用...