SpringMVC前后端傳值的幾種實現(xiàn)方式
一、從Controller層到jsp界面
1、使用HttpServletRequest的方式
這種方式大家肯定非常熟悉了,用法跟 javaWeb 一模一樣
Controller層:
@RequestMapping("/test")
public String test(HttpServletRequest servletRequest, Users user){
user = new Users();
user.setUsername("admin");
user.setPassword("123");
servletRequest.setAttribute("username",user.getUsername());
servletRequest.setAttribute("password",user.getPassword());
return "Register";
}
jsp界面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注冊界面</title>
</head>
<body>
username:${username}<br>
password:${password}
</body>
</html>
運行結果:

2、使用HttpSession的方式
這種方式跟上面一樣,在這里就不多說了
3、使用Model的方式
Controller層:
@RequestMapping("/test")
public String test(Model model, Users user){
user = new Users();
user.setUsername("admin");
user.setPassword("123");
model.addAttribute("username",user.getUsername());
model.addAttribute("password",user.getPassword());
return "Register";
}
jsp界面跟上面一樣,運行結果也是一樣的
4、使用ModelAndView的方式
@RequestMapping("/test")
public ModelAndView test(Model model, Users user){
ModelAndView mav = new ModelAndView();
user = new Users();
user.setUsername("admin");
user.setPassword("123");
mav.addObject("username",user.getUsername());
mav.addObject("password",user.getPassword());
mav.setViewName("Register");//設置視圖名,用于跳轉
return mav;
}
二、從jsp界面到Controller層
1、直接將請求參數(shù)名作為方法的形參
jsp界面:
<form action="/user/test" method="get">
username:<input type="text" name="username" />
<p>
password:<input type="password" name="password"/>
<p>
<input type="submit" value="submit" />
</form>
Controller層:
@RequestMapping("/test")
//方法里面的形參要跟前端的name名相等,否則Spring找不到
public String test(String username,String password){
System.out.println(username+":"+password);
return "StudentList";
}
2、使用@RequestParam 綁定請求參數(shù)值(推薦使用)
jsp界面跟上面一樣
Controller層:
@RequestMapping("/test")
public String test(@RequestParam("username") String username1,@RequestParam("password") String password1){
System.out.println(username1+":"+password1);
return "StudentList";
}
3、使用Pojo類
Pojo類:
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class Users {
private Integer id;
private String username;
private String password;
private String email;
}//使用lombok插件,用注解代替Get和Set等方法
Controller層:
@RequestMapping("/test")
public String test(Users user){
System.out.println(user.getUsername()+"======="+user.getPassword());
return "StudentList";
}
4、使用HttpServletRequest的方式
Controller層:
@RequestMapping("/test")//原理:利用set的反射機制找到User對象中的屬性
public String test(Users user, HttpServletRequest servletRequest){
String username = servletRequest.getParameter("username");
String password = servletRequest.getParameter("password");
System.out.println(username+"===="+password);
return "StudentList";
}到此這篇關于SpringMVC前后端傳值的方式實現(xiàn)的文章就介紹到這了,更多相關SpringMVC前后端傳值內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java報錯Non-terminating?decimal?expansion解決分析
這篇文章主要為大家介紹了Java報錯Non-terminating?decimal?expansion解決方案及原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
一文詳解如何配置MyBatis實現(xiàn)打印可執(zhí)行的SQL語句
在MyBatis中,動態(tài)SQL是一個強大的特性,允許我們在XML映射文件或注解中編寫條件語句,根據(jù)運行時的參數(shù)來決定SQL的具體執(zhí)行內容,這篇文章主要給大家介紹了關于如何配置MyBatis實現(xiàn)打印可執(zhí)行的SQL語句的相關資料,需要的朋友可以參考下2024-08-08
Spring Boot2開發(fā)之Spring Boot整合Shiro兩種詳細方法
這篇文章主要介紹了Spring Boot2開發(fā)之Spring Boot整合Shiro詳細方法,需要的朋友可以參考下2020-03-03

