Spring MVC數據綁定和響應——復雜數據綁定(一)數組綁定

一、數組綁定的使用場景

????????在實際開發中,可能會遇到客戶端請求需要傳遞多個同名參數到服務器端的情況,這種情況采用前面講解的簡單數據綁定的方式顯然是不合適的。此時,可以使用數組來接收客戶端的請求參數,完成數據綁定。

接下來通過一個批量提交商品的案例來演示數組的數據綁定,具體實現步驟如下所示。

1、創建一個商品類Product,用于封裝商品信息。Product類的具體代碼如下所示。

public class Product {private String proId;        //商品idprivate String proName;        //商品名稱public String getProId() {return proId;}public void setProId(String proId) {this.proId = proId;}public String getProName() {return proName;}public void setProName(String proName) {this.proName = proName;}
}

2、創建一個提交商品頁面products.jsp,在products.jsp中創建一個展示商品列表的表單,表單提交時向服務器端發送商品列表的所有id。products.jsp的具體代碼如下所示。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
<head><title>提交商品</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/getProducts"method="post"><table width="220px" border="1"><tr><td>選擇</td><td>商品名稱</td></tr><tr><td><input name="proIds" value="1" type="checkbox"></td><td>Java基礎教程</td></tr><tr><td><input name="proIds" value="2" type="checkbox"></td><td>JavaWeb案例</td></tr><tr><td><input name="proIds" value="3" type="checkbox"></td><td>SSM框架實戰</td></tr></table><input type="submit" value="提交商品"/>
</form>
</body>
</html>

3、創建一個商品處理器類ProductController,在ProductController類中定義getProducts() 方法,用于接收表單提交的商品id。ProductController類的具體代碼如下所示。

@Controller
public class ProductController {// 獲取商品列表@RequestMapping("/getProducts")public void getProducts(String[] proIds) {for (String proId : proIds) {System.out.println("獲取到了Id為"+proId+"的商品");	}}
}

4、啟動chapter12項目,在瀏覽器中訪問提交商品頁面products.jsp,訪問地址為http://localhost:8080/chapter12/products.jsp。

5、勾選products.jsp顯示效果圖中所示的全部復選框,然后單擊“提交商品”按鈕,控制臺打印信息如下圖所示。

獲取到了Id為1的商品
獲取到了Id為2的商品
獲取到了Id為3的商品

????????從圖中所示的打印信息可以看出,程序打印出了提交的商品,這表明getProducts()方法獲取到了客戶端請求中的參數proIds的值,并將請求參數中多個同名的proIds參數值全部存儲在了getProducts()方法的proIds形參中,實現了數組的數據綁定。

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

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

相關文章

CS與MSF的權限互相傳遞/mimikatz抓取windows 2012明文密碼

目錄 CS和MSF的簡單介紹 Metasploit Cobalt Strike 1、CS權限傳遞到MSF 2、MSF權限傳遞到CS 3、使用mimikatz抓取明文密碼 通過修改注冊表用戶重新登錄后抓取明文密碼 今天的任務是兩個 一個是CS與MSF的權限互相傳遞一個是抓取windows2012的明文密碼 那就分別來完成 …

云計算基礎技術

云計算基礎技術概覽 計算類產品主要提供算力&#xff0c;支持業務運行&#xff0c;例如網站、辦公軟件、數據分析等計算能力&#xff0c;目前典型的產品主要是虛擬化和容器&#xff0c;在公有云上的云主機本質也是虛擬機。網絡類產品主要滿足資源的網絡連通性和隔離&#xff0c…

軟考初級網絡管理員__軟件單選題

1.如下圖所示&#xff0c;在IE“Intemet選項”對話框的()選項卡中可指定電子郵件程序。 常規 內容 高級 程序 2.在Excel的A1單元格中輸入函數“ROUND(1/3,3)”,按回車鍵之后&#xff0c;A1中的值為()。 1 1/3 0.34 0.333 3.在輸入Word文檔過程中&#xff0c;為了防止意…

Pinia的基本用法

Pinia的安裝和引入 1.安裝Pinia npm install pinia2. 在vue項目的main.js文件中引入pinia import { createApp } from vue import { createPinia } from pinia import App from ./App.vueconst pinia createPinia() const app createApp(App)app.use(pinia) app.mount(#ap…

日志打印中對容器(包括多級容器)的通用輸出

在日志打印中&#xff0c;往往有打印一個數組、集合等容器中的每個元素的需求&#xff0c;這些容器甚至可能嵌套起來&#xff0c;如果每個地方都用for循環打印&#xff0c;將會特別麻煩。基于這種需求&#xff0c;作者嘗試實現一個通用的打印函數SeqToStr()&#xff0c;將容器序…

線上民族傳統服飾商城

摘 要 隨著互聯網的不斷發展和普及&#xff0c;電子商務成為了人們生活中不可或缺的一部分。傳統的線下購物方式逐漸被線上購物所取代&#xff0c;人們越來越習慣在互聯網上購物。而民族傳統服飾作為我國豐富多樣的民族文化的重要組成部分&#xff0c;具有獨特的藝術價值和商業…

unity VR Interaction Framework 創建新手勢

提示&#xff1a;文章有錯誤的地方&#xff0c;還望諸位大神不吝指教&#xff01; 文章目錄 前言一、新建物體&#xff0c;并添加必要組件二、添加抓取點三、查看手勢的可視化樣式四、制作新的手勢1.點擊編輯2.根據需求調節手指關節3.保存手勢4. 使用創建的手勢5.運行 總結 前言…

等保測評——安全通信網絡——安全區域邊界

安全通信網絡 網絡架構 a) 應保證網絡設備的業務處理能力滿足業務高峰期需要&#xff1b; b) 應保證網絡各個部分的帶寬滿足業務高峰期需要&#xff1b; c) 應劃分不同的網絡區域&#xff0c;并按照方便管理和控制的原則為各網絡區域分配地址&#xff1b; 應核查是否依據重…

遠程過程調用協議gRPC及在go環境下的使用

1. 遠程過程調用協議 1.1 定義 遠程過程調用(Remote Procedure Call&#xff0c;PRC是一種進程間通信技術&#xff0c;它使得程序可以像調用本地函數一樣調用遠程服務器上的函數。RPC 屏蔽了底層的通信細節&#xff0c;讓開發者能夠更專注于業務邏輯&#xff0c;而無需關心網絡…

無源電壓繼電器 JDY-1210AW 導軌安裝 約瑟JOSEF

系列型號&#xff1a; JDY-1002AW電壓繼電器&#xff1b;JDY-1002B電壓繼電器&#xff1b; JDY-1110AW電壓繼電器&#xff1b;JDY-1110B電壓繼電器&#xff1b; JDY-1220AW電壓繼電器&#xff1b;JDY-1220B電壓繼電器&#xff1b; JDY-1100AW電壓繼電器&#xff1b;JDY-110…

服務器數據恢復—用raid6陣列磁盤組建raid5陣列如何恢復原raid數據?

服務器存儲數據恢復環境&#xff1a; 華為OceanStor 5800存儲&#xff0c;該存儲中有一組由10塊硬盤組建的raid6磁盤陣列&#xff0c;供企業內部使用&#xff0c;服務器安裝linux操作系統EXT3文件系統&#xff0c;劃分2個lun。 服務器存儲故障&#xff1a; 管理員發現存儲中rai…

JavaScript的學習之dom的查詢(一)

一、獲得元素 通過document對象調用&#xff1a; getElementById()&#xff1a;通過id屬性獲取一個元素節點對象getElementsByTagName()&#xff1a;通過標簽名獲取一組元素節點對象getElementsByName()&#xff1a;通過name屬性來獲取一組元素節點對象 核心學習代碼 <scrip…

記錄一次即將出現的釣魚新方式

釣魚通常是內網滲透過程中的最為常見的入口方式&#xff0c;但是隨著藍隊人員溯源反制思路開闊&#xff0c;入侵排查能力提升&#xff0c;釣魚也越來越困難&#xff0c;這里就記一種不同尋常的釣魚方式。 pip install 的執行流程&#xff1a; 先獲取到遠端的服務器地址 url 比…

node.js 面試題 1

### 明天要去面試了 今天晚上突擊一下node.js 什么是Node.js&#xff1f;它有什么特點&#xff1f; Node.js是一個基于Chrome V8引擎的JavaScript運行環境&#xff0c;它允許在服務器端運行JavaScript代碼。它的特點包括單線程、非阻塞I/O、事件驅動等 …

dispatch_after

dispatch_after dispatch_after dispatch_after dispatch_after函數并不是延遲對應時間后立即執行block塊中的操作&#xff0c;而是將任務追加到對應隊列中&#xff0c;考慮到隊列阻塞等情況&#xff0c;所以這個任務從加入隊列到真正執行的時間是不準確的。 dispatch_after(…

Kubernetes CSI livenessprobe探活

Kubernetes CSI livenessprobe探活 要實現一個Kubernetes CSI的livenessprobe探活&#xff0c;可以有以下三種方法&#xff1a; HttpServer 1、在CSI中實現一個簡單的HttpServer&#xff0c;暴露探活接口&#xff1b; GRPC探測 2、CSI鏡像中&#xff0c;增加grpcurl命令&a…

單目標應用:基于吸血水蛭優化器(Blood-Sucking Leech Optimizer,BSLO)的微電網優化(MATLAB代碼)

一、微電網模型介紹 微電網多目標優化調度模型簡介_vmgpqv-CSDN博客 參考文獻&#xff1a; [1]李興莘,張靖,何宇,等.基于改進粒子群算法的微電網多目標優化調度[J].電力科學與工程, 2021, 37(3):7 二、吸血水蛭優化器求解微電網 2.1算法簡介 吸血水蛭優化器&#xff08;B…

【Java Web】Tomcat服務器

目錄 一、Tomcat是什么 二、Tomcat安裝 三、Tomcat相關目錄 四、Web項目標準目錄結構規范 五、Tomcat項目部署方式 六、IDEA關聯本地Tomcat 七、HTTP協議 7.1 http的交互方式 7.1.1 http長連接和短連接 7.1.2 http1.1緩存機制 7.2 http數據報文格式 八、常見響應狀態碼 一、Tom…

印刷企業數字工廠管理系統如何保障產品質量

一、引言 隨著信息技術的迅猛發展&#xff0c;印刷行業也迎來了數字化轉型的浪潮。數字工廠管理系統作為這一轉型的核心工具&#xff0c;不僅在提高生產效率、優化資源配置方面發揮了重要作用&#xff0c;更在保障產品質量上扮演著關鍵角色。本文將深入探討印刷企業數字工廠管…

瀏覽器擴展V3開發系列之 chrome.contextMenus 右鍵菜單的用法和案例

【作者主頁】&#xff1a;小魚神1024 【擅長領域】&#xff1a;JS逆向、小程序逆向、AST還原、驗證碼突防、Python開發、瀏覽器插件開發、React前端開發、NestJS后端開發等等 chrome.contextMenus 允許開發者向瀏覽器的右鍵菜單添加自定義項。 在使用 chrome.contextMenus 之前…