@RequestParam注解

在使用SpringMVC接收基本参数类型的时候,我们发现如果控制器中形参的名称与表单的name名称不一致时,无法接收参数。这是可以使用@RequestParam注解解决这个问题。

一、设计表单页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>一点教程网 - www.yiidian.com</title>
</head>
<body>
<h2>参数封装-@RequestParam注解的使用</h2>
<form action="/param.do">
    用户名:<input type="text" name="username"><br>
    年龄:<input type="text" name="age"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

二、编写Controller类

package com.yiidian.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @RequestParam注解的使用
 * 一点教程网 - www.yiidian.com
 */
@Controller
public class ParamController {

    @RequestMapping("/param.do")
    public String save(@RequestParam("username") String name,
                       @RequestParam("userAge") Integer userAge){
        System.out.println("用户名:"+name);
        System.out.println("年龄:"+userAge);
        return "success";
    }
}

注意:表单的name和控制器的形参并不一致,但是@RequestParam注解的value值必须和表单的name保持一致。

另外,@RequestParam注解还有两个属性:

  1. required:参数是否必须。代表页面是否必须传递该参数。如果该值为true,但没有传递参数,会报错。
  2. defaultValue:默认值。代表如果页面没有传递该参数,使用defaultValue的值代替。

三、springmvc.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- 1.扫描Controller的包-->
    <context:component-scan base-package="com.yiidian.controller"/>

    <!-- 2.配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 2.1 页面前缀 -->
        <property name="prefix" value="/pages/"/>
        <!-- 2.2 页面后缀 -->
        <property name="suffix" value=".jsp"/>
    </bean>

    <!-- 3.创建处理器适配器和处理器映射器-->
    <mvc:annotation-driven/>
</beans>

四、运行测试

控制台输出

 

源码下载:https://pan.baidu.com/s/1ZYNgGbUvy19GG1T6HMvTUg

热门文章

优秀文章