springboot提交及接收参数

package com.example.demo.controller;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.example.demo.pojo.Student;

@Controller
public class ResponseController {

    // 仅响应跳转
    @RequestMapping("/m1")
    public @ResponseBody String m1() {
        System.out.println(1);
        return "m1";
    }

    // 接收普通参数
    @RequestMapping("/m2")
    public @ResponseBody String m2(HttpServletRequest request) {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String hdn = request.getParameter("hdn");
        System.out.println(username + password + hdn);
        return "m2";
    }

    // 接收普通路徑参数2
    @RequestMapping("/m22/{id}")
//        @GetMapping("/demo/{id}")
//        @PostMapping("/demo/{id}")
    public @ResponseBody String m22(@PathVariable(name = "id") String id, @RequestParam(name="id") String name) {
        System.out.println("id:" + id);
        System.out.println("name:" + name);

        return "m2";
    }

    // 接收map封裝参数
    @RequestMapping(value = "/m3", produces = "text/html;charset=UTF-8")
    public @ResponseBody String m3(@RequestParam Map<String, Object> map, HttpServletRequest request) {

        System.out.println(map.get("name"));
        String[] likes = request.getParameterValues("likes");
        Map<String, String[]> map2 = request.getParameterMap();
        System.out.println(likes);

        return "m3";
    }

    // 接收对象封装参数
    @RequestMapping("/m4")
    public @ResponseBody String m4(Student student) {

        System.out.println(student.getId());
        System.out.println(student.getName());
        System.out.println(student.getWeight());
        System.out.println(student.isMale());

        // 单独取
        System.out.println(student.getLikes().get(0));

        // 循环取
        for (String like : student.getLikes()) {
            System.out.println(like);
        }

        // Lambda方式循环取
        student.getLikes().forEach(x -> System.out.println(x));
        return "m4";
    }

}
以下为常见表单元素形式的各种提交:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function loadXMLDoc()
{
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
        //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // IE6, IE5 浏览器执行代码
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            alert(xmlhttp.responseText);
        }
    }
    xmlhttp.open("GET","m1",true);
    xmlhttp.send();
}
</script>

</head>
<body>
h1
<!-- 以下相對路徑都沒有/ -->
<a href="m1">m1</a>

<form action="m1">
<input type="submit"/>
</form>
<br>
<form action="m2" method="post">
<input type="text" name="username"/><br>
<input type="password" name="password"/><br>
<input type="hidden" name="hdn" value="abc"/><br>
<input type="submit"/>
</form>
<br>

<!-- 以下action换为m3,m4亦可测-->
<form action="m22/15" method="post">
<input type="text" name="id"/><br>
<input type="password" name="name"/><br>
<input type="hidden" name="weight" value="185.5"/><br>
男:<input type="radio" name="male" value="1"/>女:<input type="radio" name="male" value="0"/><br>
足球:<input type="checkbox" name="likes" value="football"/>
篮球:<input type="checkbox" name="likes" value="basketball"/>
排球:<input type="checkbox" name="likes" value="volleyball"/><br>
<input type="submit"/>
</form>
<br>
<input type="button" οnclick="loadXMLDoc()" value="ajax"/>
</body>
</html>

实体类之常用属性:

package com.example.demo.pojo;

import java.util.List;

public class Student {

    private int id;
    private String name;
    private float weight;
    private boolean male;
    
    private List<String> likes;
    
    public List<String> getLikes() {
        return likes;
    }
    public void setLikes(List<String> likes) {
        this.likes = likes;
    }
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getWeight() {
        return weight;
    }
    public void setWeight(float weight) {
        this.weight = weight;
    }
    public boolean isMale() {
        return male;
    }
    public void setMale(boolean male) {
        this.male = male;
    }
}
 

发布了39 篇原创文章 · 获赞 38 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/FRESHET/article/details/100705065