SpringMVC前后端傳值的幾種實(shí)現(xiàn)方式
一、從Controller層到j(luò)sp界面
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>注冊(cè)界面</title> </head> <body> username:${username}<br> password:${password} </body> </html>
運(yùn)行結(jié)果:
2、使用HttpSession的方式
這種方式跟上面一樣,在這里就不多說(shuō)了
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界面跟上面一樣,運(yùn)行結(jié)果也是一樣的
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");//設(shè)置視圖名,用于跳轉(zhuǎn) return mav; }
二、從jsp界面到Controller層
1、直接將請(qǐng)求參數(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 綁定請(qǐng)求參數(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類(lèi)
Pojo類(lèi):
@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的反射機(jī)制找到User對(duì)象中的屬性 public String test(Users user, HttpServletRequest servletRequest){ String username = servletRequest.getParameter("username"); String password = servletRequest.getParameter("password"); System.out.println(username+"===="+password); return "StudentList"; }
到此這篇關(guān)于SpringMVC前后端傳值的方式實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringMVC前后端傳值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringMVC的簡(jiǎn)單傳值(實(shí)現(xiàn)代碼)
- springMvc請(qǐng)求的跳轉(zhuǎn)和傳值的方法
- 詳解SpringMVC注解版前臺(tái)向后臺(tái)傳值的兩種方式
- 詳解springmvc 中controller與jsp傳值
- jQuery+SpringMVC中的復(fù)選框選擇與傳值實(shí)例
- java-jsp springmvc-controller 傳值到頁(yè)面的方法
- springmvc前臺(tái)向后臺(tái)傳值幾種方式總結(jié)(從簡(jiǎn)單到復(fù)雜)
- springMVC中RestTemplate傳值接值方法
- SpringMVC的ModelAndView傳值方法
- springMVC向Controller傳值出現(xiàn)中文亂碼的解決方案
相關(guān)文章
Spring系統(tǒng)屬性及spring.properties配置文件示例詳解
spring中有一個(gè)SpringProperties類(lèi),來(lái)保存spring的系統(tǒng)屬性,本文結(jié)合實(shí)例代碼對(duì)Spring系統(tǒng)屬性及spring.properties配置文件相關(guān)知識(shí)給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-07-07SpringBoot文件上傳控制及Java 獲取和判斷文件頭信息
這篇文章主要介紹了SpringBoot文件上傳控制的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12JAVA學(xué)習(xí)筆記:注釋、變量的聲明和定義操作實(shí)例分析
這篇文章主要介紹了JAVA學(xué)習(xí)筆記:注釋、變量的聲明和定義操作,結(jié)合實(shí)例形式分析了Java注釋、變量的聲明和定義相關(guān)原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04SpringBoot升級(jí)指定jackson版本的問(wèn)題
這篇文章主要介紹了SpringBoot升級(jí)指定jackson版本,本文給大家分享了漏洞通告及修改Springboot中jackson版本的問(wèn)題,需要的朋友可以參考下2022-08-08關(guān)于SpringCloud的微服務(wù)以及組件詳解
這篇文章主要介紹了關(guān)于SpringCloud的微服務(wù)以及組件詳解,是一個(gè)更高層次的、 架構(gòu)視角的綜合性大型項(xiàng)目, 他的目標(biāo)是構(gòu)建一套標(biāo)準(zhǔn)化的微服務(wù)解決方案,需要的朋友可以參考下2023-05-05Springboot+WebSocket實(shí)現(xiàn)一對(duì)一聊天和公告的示例代碼
這篇文章主要介紹了Springboot+WebSocket實(shí)現(xiàn)一對(duì)一聊天和公告的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04