springmvc前端傳參,后端接收

RequestMapping注解

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {String name() default "";@AliasFor("path")String[] value() default {};@AliasFor("value")String[] path() default {};RequestMethod[] method() default {};String[] params() default {};String[] headers() default {};String[] consumes() default {};String[] produces() default {};
}

作用: 建立請求URL和處理方法之間的對應關系 出現位置:方法和類上 作用在類上:第一季訪問目錄 作用在方法上:第二級訪問目錄 注意:路徑可以不寫 / 表示應用的根目錄開始 屬性: path:指定請求的url value:value屬性和path屬性一樣 mthod:指定該方法的請求方式 params:指定限制請求參數條件 headers:發送請求中必須包含的請求頭

請求參數的綁定

  • 基本數據類型和字符串類型

  • 實體類(javabean)

  • 集合數據類型(list、map集合等)

  • 以傳遞用戶名和密碼為例,修改index.jsp頁面,添加綁定參數

<html>
<body>
<h2>Hello World!</h2>
<h1>Login</h1>
<a href="/param?username=oneStar&password=123">login</a>
</body>
</html>
  • 在控制層添加請求映射,以參數的形式進行傳遞
 ? ?@RequestMapping(path = "/param")public String user(@RequestParam("username") String username,@RequestParam("password") String password){System.out.println(username);System.out.println(password);return "success";}
  • 實體類綁定參數
  • 創建實體類

package com.pyb.pojo;
?
/*** @version 1.0* @Author 彭彥彬* @Date 2025/1/9 21:01* @注釋*/
public class User {private String username;private String password;
?public User(String username, String password) {this.username = username;this.password = password;}
?public User() {}
?public String getUsername() {return username;}
?public void setUsername(String username) {this.username = username;}
?public String getPassword() {return password;}
?public void setPassword(String password) {this.password = password;}
?@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}
}
?
  • 修改index.jsp頁面

<html>
<body>
<h1>Pojo</h1>
<form action="/saveUser" method="post">username<input type="text" name="username"/><br>password<input type="text" name="password"/><br><input type="submit" value="Button"/><br>
</form>
</body>
</html>
?
  • 在控制層添加請求映射

 ?@RequestMapping("/saveUser")public String saveUser(User user) {System.out.println(user);return "success";}
  • 運行后在頁面上輸入用戶名和密碼點擊提交即可將數據傳遞給服務器

  • 集合綁定參數

為了方便將數據綁定到List集合和Map集合,這里設置兩個用戶名和密碼,一個用List集合綁定,一個用Map集合綁定

  • 修改index.jsp頁面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Collection Binding Parameters</title>
</head>
<body>
<h1>Collection and Map Binding Parameters</h1>
<form action="/mapUser" method="post">User: <input type="text" name="list[0].username"/><br>Password: <input type="password" name="list[0].password"/><br>User: <input type="text" name="map['one'].username"/><br>Password: <input type="password" name="map['one'].password"/><br><input type="submit" value="Submit"/><br>
</form>
</body>
</html>
  • 編寫集合實體類

package com.pyb.pojo;
import java.util.List;
import java.util.Map;
/*** @version 1.0* @Author 彭彥彬* @Date 2025/1/9 21:13* @注釋*/
public class mapUser {private String username;private String password;
?List<mapUser> list;Map<String,mapUser> map;
?public String getUsername() {return username;}
?public void setUsername(String username) {this.username = username;}
?public String getPassword() {return password;}
?public void setPassword(String password) {this.password = password;}
?public List<mapUser> getList() {return list;}
?public void setList(List<mapUser> list) {this.list = list;}
?public Map<String, mapUser> getMap() {return map;}
?public void setMap(Map<String, mapUser> map) {this.map = map;}
?@Overridepublic String toString() {return "mapUser{" +"username='" + username + '\'' +", password='" + password + '\'' +", list=" + list +", map=" + map +'}';}
}
  • 在控制層添加請求映射

 ? ?@RequestMapping(path="/mapUser") ? ? //請求映射public String mapUser(mapUser mapuser){System.out.println(mapuser);return "success";}
  • 運行后在頁面上輸入用戶名和密碼點擊提交即可將數據以集合形式傳遞給服務器

解決中文亂碼

在綁定參數的時候,當有中文時會出現亂碼,而SpringMVC提供了解決方法,在web.xml添加過濾器進行配置即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65588.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65588.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65588.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分布式鎖 Redis vs etcd

為什么要實現分布式鎖?為什么需要分布式鎖,分布式鎖的作用是什么,哪些場景會使用到分布式鎖?分布式鎖的實現方式有哪些分布式鎖的核心原理是什么 如何實現分布式鎖redis(自旋鎖版本)etcd 的分布式鎖(互斥鎖(信號控制)版本) 分布式鎖對比redis vs etcd 總結 為什么要實現分布式…

【Excel/WPS】根據平均值,生成兩列/多列指定范圍的隨機數/隨機湊出兩列數據

原理就是通過隨機生成函數和平均值函數。 適用場景&#xff1a;在總體打分后&#xff0c;需要在小項中隨機生成小分數 第一列&#xff1a;固定的平均值A2第二列&#xff1a; RANDBETWEEN(A2-10,A210)第三列&#xff1a;根據第二列用平均值函數算除 A2*2-B2這是隨機值1的公式&am…

芯片詳細講解,從而區分CPU、MPU、DSP、GPU、FPGA、MCU、SOC、ECU

目錄 芯片的概念結構 芯片的派系劃分 通用芯片&#xff08;CPU&#xff0c;MPU&#xff0c;GPU&#xff0c;DSP&#xff09; 定制芯片&#xff08;FPGA&#xff0c;ASIC&#xff09; 芯片之上的集成&#xff08;MCU&#xff0c;SOC&#xff0c;ECU&#xff09; 軟硬件的匹…

運動相機拍攝的視頻打不開怎么辦

3-10 GoPro和大疆DJI運動相機的特點&#xff0c;小巧、高清、續航長、拍攝穩定&#xff0c;很多人會在一些重要場合用來拍攝視頻&#xff0c;比如可以用來拿在手里拍攝快速運動中的人等等。 但是畢竟是電子產品&#xff0c;有時候是會出點問題的&#xff0c;比如意外斷電、摔重…

智能化文檔開發(DI)

這個文檔涉及到多模態&#xff08;文本、發票、訂單、語音&#xff09; 對于普通的文本&#xff0c;我們希望對某些實體的某些屬性挖空生成文檔模版&#xff0c;并根據預設字段填空最后生成正式文件對于發票、訂單&#xff0c;我們想提取它的字段信息&#xff0c;寫入DB對于一些…

CSS語言的編程范式

CSS語言的編程范式 引言 在現代網頁開發中&#xff0c;CSS&#xff08;層疊樣式表&#xff09;作為一種樣式語言&#xff0c;承擔著網站前端呈現的重要角色。無論是簡單的靜態網頁還是復雜的單頁應用&#xff0c;CSS都在人機交互中發揮著至關重要的作用。掩蓋在美觀背后的&am…

【輕松學C:編程小白的大冒險】--- C語言簡介 02

在編程的藝術世界里&#xff0c;代碼和靈感需要尋找到最佳的交融點&#xff0c;才能打造出令人為之驚嘆的作品。而在這座秋知葉i博客的殿堂里&#xff0c;我們將共同追尋這種完美結合&#xff0c;為未來的世界留下屬于我們的獨特印記。 【輕松學C&#xff1a;編程小白的大冒險】…

零基礎 監控數據可視化 Spring Boot 2.x(Actuator + Prometheus + Grafana手把手) (上)

一、安裝Prometheus Releases prometheus/prometheus GitHubhttps://github.com/prometheus/prometheus/releases 或 https://prometheus.io/download/https://prometheus.io/download/ 1. 下載適用于 Windows 的二進制文件&#xff1a; 找到最新版本的發布頁面&#xf…

Idea日志亂碼

問題描述 前提&#xff1a;本人使用windows Idea運行sh文件&#xff0c;指定了utf-8編碼&#xff0c;但是運行過程中還是存在中文亂碼 Idea的相關配置都已經調整 字體調整為雅黑 文件編碼均調整為UTF-8 調整Idea配置文件 但是還是存在亂碼&#xff0c;既然Idea相關配置已經…

Linux 注冊線程化的中斷處理程序

1. 注冊線程化中斷處理函數 devmem_request_threaded_irq 是 Linux 內核中的一個函數&#xff0c;用于請求并注冊一個線程化的中斷處理程序。這個函數允許開發者注冊一個中斷處理函數&#xff0c;這個函數會在中斷發生時被調用&#xff0c;從而實現相應的中斷處理邏輯。它通過…

MySQL 數據表與索引設計藝術:打造高效數據存取架構

&#x1f407;明明跟你說過&#xff1a;個人主頁 &#x1f3c5;個人專欄&#xff1a;《MySQL技術精粹》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目錄 一、引言 1、什么是MySQL 2、MySQL適用場景 二、MySQL的數據存儲與檢索 1、數據表…

安卓硬件加速hwui

安卓硬件加速 本文基于安卓11。 從 Android 3.0 (API 級別 11) 開始&#xff0c;Android 2D 渲染管道支持硬件加速&#xff0c;這意味著在 View 的畫布上執行的所有繪圖操作都使用 GPU。由于啟用硬件加速所需的資源增加&#xff0c;你的應用程序將消耗更多內存。 軟件繪制&am…

海信116英寸RGB-Mini LED:一朵綻放在科技穹頂的中國花火

東方古鎮的打鐵花&#xff0c;拉斯維加斯的煙花秀&#xff0c;盛大的花火表演總會在歲末年初的時候&#xff0c;吸引世界各地人們的目光。一年一度的科技展會&#xff0c;也起到煙花秀一樣的作用&#xff0c;讓人們提前望見未知的精彩。 CES還沒開始&#xff0c;CES 2025展會的…

超簡單,使用Kube-Vip實現K8s高可用VIP詳細教程

具體步驟如下&#xff1a; 以下步驟在其中一個 master 上操作即可&#xff0c; 1、參數配置 export VIP192.168.0.110 export INTERFACEens33 export KVVERSIONv0.8.7VIP 是虛擬IP地址&#xff0c;和主機同一個網段&#xff0c;且未被占用。INTERFACE 是你當前主機的網絡接口…

積分漏斗模型中5個指標統計

緣起 最近遇到一個積分漏斗模型的設計&#xff0c;這里記錄一下。以防止以后忘記了。其中畢竟關鍵的屬性是&#xff1a; 獲得積分可用積分已有積分 積分漏斗模型 這里隨著【當前日期】也就是今天日期。隨著時間一天天過去&#xff0c;積分也一天天過去。上面那個【填報時間】…

Ubuntu掛載Windows 磁盤,雙系統

首先我們需要在終端輸入這個命令&#xff0c;來查看磁盤分配情況 lsblk -f 找到需要掛載的磁盤&#xff0c;檢查其類型&#xff08; 我的/dev/nvme2n1p1類型是ntfs&#xff0c;名字叫3500winData&#xff09; 然后新建一個掛載磁盤的目錄&#xff0c;我的是/media/zeqi/3500wi…

程序血緣分析技術在工商銀行軟件工程中的應用

當前,隨著軟件領域技術更新換代速度的日益加快,市場需求也變得更加多樣化和個性化,業界普遍通過加速產品迭代來滿足客戶需求,但在此過程中也暴露出一些研發管理痛點問題,如服務和程序類資產信息分散于各個不同的應用和系統中,信息歸集費時費力;設計、開發和測試人員無法…

微信小程序中 隱藏scroll-view 滾動條 網頁中隱藏滾動條

在微信小程序中隱藏scroll-view的滾動條可以通過以下幾種方法實現&#xff1a; 方法一&#xff1a;使用CSS隱藏滾動條 在小程序的樣式文件中&#xff08;如app.wxss或頁面的.wxss文件&#xff09;&#xff0c;添加以下CSS代碼來隱藏滾動條&#xff1a; scroll-view ::-webkit…

服務器證書不受信任是什么問題?

用戶在訪問某些網站時&#xff0c;可能會遇到“服務器證書不受信任”的警告。這一問題不僅影響用戶的瀏覽體驗&#xff0c;更可能對網站的信譽和安全性產生深遠影響。那么服務器證書不受信任是什么問題呢&#xff1f; 服務器證書的基本概念 服務器證書是由證書頒發機構(CA)簽…

【AI游戲】使用強化學習玩 Flappy Bird:從零實現 Q-Learning 算法(附完整資源)

1. 引言 Flappy Bird 是一款經典的休閑游戲&#xff0c;玩家需要控制小鳥穿過管道&#xff0c;避免碰撞。雖然游戲規則簡單&#xff0c;但實現一個 AI 來自動玩 Flappy Bird 卻是一個有趣的挑戰。本文將介紹如何使用 Q-Learning 強化學習算法來訓練一個 AI&#xff0c;使其能夠…