spring mvc框架中的参数传递
页面传递参数给controller
- 查询参数
url示例: /spittles?max=238900&count=50
@RequestMapping(method=GET)
public String spittles(
@RequestParam(defaultValue="20") int max,
@RequestParam(defaultValue="3") int count) {
return "spittle"; // it would refer WEB-INF/views/spittle.jsp
}
- 表单传递
表单使用post发送请求
@RequestMapping(method=POST)
public String spittles(@RequestBody Spittle s) {
return "spittle";
}
- 路径变量
url示例: /spittles/1234567
@RequestMapping(value="/{spittleId}", method=GET)
public String spittles(
@PathVariable int spittleId) {
return "spittle";
}
controller传递参数给view
Controller传递参数给view, 需要在controller入参指定org.springframework.ui.Model,然后把传递的参数放进去
model.addAttribute("srList", srList);
在jsp中,调用参数格式如下:
<c:forEach items="${srList}" var="spittle">
<c:out value="${spittle.username}"></c:out>
<c:out value="${spittle.age}"></c:out>
</c:forEach>
代码如下
SpittleController.java
package spittr.web;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.*;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
/**
* Created by Administrator on 2017/6/6.
*/
@Controller
@RequestMapping(value="/spittles")
public class SpittleController {
@RequestMapping(method = GET)
public String spittles(Model model,
@RequestParam(defaultValue = "123") String u1) {
List<SpittlesRep> srList = new ArrayList<SpittlesRep>();
String uu = new String();
System.out.println("get u1" + u1);
SpittlesRep sr = new SpittlesRep();
sr.setUsername("robin");
sr.setAge(13);
srList.add(sr);
uu = "Hello";
model.addAttribute("srList", srList);
model.addAttribute("uu", uu);
return "spittles";
}
}
spittles.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<title>Spittles</title>
<link rel="stylesheet"
type="text/css"
href="<c:url value='/resources/style.css' />" >
</head>
<body>
<h1>Welcome to Spittles</h1>
<c:forEach items="${srList}" var="spittle">
<c:out value="${spittle.username}"></c:out>
<c:out value="${spittle.age}"></c:out>
</c:forEach>
<c:out value="${uu}">123</c:out>
<c:out value="${u1}"></c:out>
</body>
</html>