Skip to content

Commit 2aa1c70

Browse files
committed
[add] add Model examples of spring MVC
1 parent e9fde53 commit 2aa1c70

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

spring-mvc/src/main/java/com/brianway/learning/spring/mvc/web/UserController.java

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@
1111
import static org.springframework.http.MediaType.IMAGE_PNG_VALUE;
1212
import org.springframework.http.ResponseEntity;
1313
import org.springframework.stereotype.Controller;
14+
import org.springframework.ui.ModelMap;
1415
import org.springframework.util.FileCopyUtils;
1516
import org.springframework.web.bind.annotation.ModelAttribute;
1617
import org.springframework.web.bind.annotation.PathVariable;
1718
import org.springframework.web.bind.annotation.RequestBody;
1819
import org.springframework.web.bind.annotation.RequestMapping;
1920
import org.springframework.web.bind.annotation.RequestMethod;
2021
import org.springframework.web.bind.annotation.ResponseBody;
22+
import org.springframework.web.bind.annotation.SessionAttributes;
23+
import org.springframework.web.bind.support.SessionStatus;
2124
import org.springframework.web.servlet.ModelAndView;
2225

2326
import java.io.IOException;
@@ -27,6 +30,7 @@
2730
*/
2831
@Controller
2932
@RequestMapping("/user")
33+
@SessionAttributes("userSession")
3034
public class UserController {
3135

3236
@Autowired
@@ -79,4 +83,55 @@ public ResponseEntity<byte[]> showEntity(@PathVariable("imageId") String imageId
7983
return responseEntity;
8084
}
8185

86+
@RequestMapping(value = "/setId")
87+
public String setId(@ModelAttribute("user") User user) {
88+
user.setUserId("1000");
89+
return "user/createSuccess";
90+
}
91+
92+
/**
93+
* 访问UserController任何一个请求处理方法前,
94+
* Spring MVC 先执行该方法,并将返回值以 user 为键添加到模型中
95+
*/
96+
@ModelAttribute("user")
97+
public User getUser() {
98+
User user = new User();
99+
user.setUserId("1001");
100+
user.setUserName("Brian");
101+
return user;
102+
}
103+
104+
@RequestMapping(value = "/show")
105+
public String show(ModelMap modelMap) {
106+
modelMap.addAttribute("testAttr", "testValue");
107+
User user = (User) modelMap.get("user");
108+
user.setUserName("Way");
109+
return "/user/showUser";
110+
}
111+
112+
@RequestMapping(value = "/showRedirect")
113+
public String showRedirect(@ModelAttribute("userSession") User user) {
114+
user.setUserName("Netty");
115+
return "redirect:/user/showSession";
116+
}
117+
118+
@RequestMapping(value = "/showSession")
119+
public String showSession(ModelMap modelMap, SessionStatus sessionStatus) {
120+
User user = (User) modelMap.get("userSession");
121+
if (user != null) {
122+
user.setUserId("2001");
123+
sessionStatus.setComplete();
124+
}else{
125+
System.out.println("null userSession");
126+
}
127+
return "/user/showUser";
128+
}
129+
130+
@ModelAttribute("userSession")
131+
public User getUserSession() {
132+
User user = new User();
133+
user.setUserId("2000");
134+
user.setUserName("Apple");
135+
return user;
136+
}
82137
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
2+
<html>
3+
<head>
4+
<title>用户信息</title>
5+
</head>
6+
<body>
7+
当前用户是${user.userName},userId为${user.userId}
8+
<c:if test="userSession != null">
9+
<br> session用户是${userSession.userName},userId为${userSession.userId}
10+
</c:if>
11+
</body>
12+
</html>

0 commit comments

Comments
 (0)