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;
}
}