预习作业:4.5.1 Controller 从前端页面获取数据

新建一个User类

package com.ssm.entity;

public class User {
    private String username;
    private int userage;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getUserage() {
        return userage;
    }

    public void setUserage(int userage) {
        this.userage = userage;
    }
}

TestGetDataController.java

package com.ssm.controller;


import com.ssm.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;

@Controller
@RequestMapping("testGD")
public class TestGetDataController {
    private final String returnJspName = "../showGetData";

    // 1.HttpServletRequest 方式
    @RequestMapping("httpSR")
    public String httpServletRequest(HttpServletRequest request){
        String username = request.getParameter("username");
        int userAge = Integer.parseInt(request.getParameter("userage"));
        System.out.printf("接收到的姓名为:%s,接收到的年龄为:%d\n",username,userAge);
        return returnJspName;
    }

    // 2.普通方式 「请求参数名和Controller方法的参数一致
    @RequestMapping("general")
    public String general(String username,int userage){
        System.out.printf("接收到的姓名为:%s,接收到的年龄为:%d\n",username,userage);
        return returnJspName;
    }

    // 3.@RequestParam 注解 请求参数名可以与方法参数名不一致
    @RequestMapping("requestParam")
    public String requestParam(@RequestParam("username") String uname,@RequestParam("userage") int userAge){
        System.out.printf("接收到的姓名为:%s,接收到的年龄为:%d\n",uname,userAge);
        return returnJspName;
    }

    // 4.对象方式 请求参数与Controller方法的对象的参数一致
    @RequestMapping("object")
    public String object(User user){
        System.out.printf("接收到的姓名为:%s,接收到的年龄为:%d\n",user.getUsername(),user.getUserage());
        return returnJspName;
    }


}

testGetData.jsp (在web目录下)

<%--
  Created by IntelliJ IDEA.
  User: dream
  Date: 2024/4/14
  Time: 14:03
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>TestGetData</title>
</head>
<body>
<form action="testGD/httpSR" method="post">
    <label>
        姓名:
        <input type="text" name="username">
    </label><br>
    <label>
        年龄:
        <input type="text" name="userage">
    </label><br>
    <input type="submit" value="1.HttpServletRequest方式">
</form>
<hr>
<form action="testGD/general" method="post">
    <label>
        姓名:
        <input type="text" name="username">
    </label><br>
    <label>
        年龄:
        <input type="text" name="userage">
    </label><br>
    <input type="submit" value="2.普通方式">
</form>
<hr>

<form action="testGD/requestParam" method="post">
    <label>
        姓名:
        <input type="text" name="username">
    </label><br>
    <label>
        年龄:
        <input type="text" name="userage">
    </label><br>
    <input type="submit" value="3. @RequestParam 注解方式">
</form>
<hr>

<form action="testGD/object" method="post">
    <label>
        姓名:
        <input type="text" name="username">
    </label><br>
    <label>
        年龄:
        <input type="text" name="userage">
    </label><br>
    <input type="submit" value="4.对象方式">
</form>
<hr>


</body>
</html>

showGetData.jsp

<%--
  Created by IntelliJ IDEA.
  User: dream
  Date: 2024/4/14
  Time: 14:10
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Dream</title>
</head>
<body>
在这里写学号姓名
</body>
</html>

发表评论

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

滚动至顶部