SpringMVC(2)——controller方法參數與html表單對應

controller方法參數與html表單對應

0. User實體類

import org.springframework.format.annotation.DateTimeFormat;import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;public class User implements Serializable {private static final long serialVersionUID = -292375206744176903L;private String username;private String password;private Integer age;private Fun fun;private List<Fun> list;@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date birthday;@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +", age=" + age +", fun=" + fun +", list=" + list +", birthday=" + birthday +", map=" + map +'}';}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}private Map<String, Fun> map;public Map<String, Fun> getMap() {return map;}public void setMap(Map<String, Fun> map) {this.map = map;}public List<Fun> getList() {return list;}public void setList(List<Fun> list) {this.list = list;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getUsername() {return username;}public Fun getFun() {return fun;}public void setFun(Fun fun) {this.fun = fun;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

1. 基本類型+String類型

@RequestMapping(path = "/save1")public String save1(String username, String age) {System.out.println("save1方法執行了!!!" + username + ":" + age);return "suc";}

在JSP的form表單元素中不需要做特殊處理,直接映射即可

<h3>請求參數綁定入門</h3><form action="/user/save1" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/><input type="submit" value="提交"/>
</form>

在這里插入圖片描述

在這里插入圖片描述

2. 實體類對象

@RequestMapping(path = "/save2")public String save2(User user) {System.out.println("save2方法執行了!!!" + user.toString());return "suc";}
<h3>請求參數綁定(封裝到實體類)</h3><form action="/user/save2" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/><input type="submit" value="提交"/>
</form>

這里的name屬性必須與User表的字段名相同,否則會報錯

在這里插入圖片描述
在這里插入圖片描述

3. 實體類對象(包含自定義引用類型)

<form action="/user/save3" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/>f1:<input type="text" name="fun.f1"/><br/><input type="submit" value="提交"/>
</form>

用字段名.字段名的方式傳值
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

4. 實體類對象(包含數組[])

<form action="/user/save4" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/>金額:<input type="text" name="fun.f3"/><br/>集合:<input type="text" name="list[0].f1"/><br/>集合:<input type="text" name="list[1].f1"/><br/><input type="submit" value="提交"/>
</form>

固定寫法,只能用list而不能用arr
在這里插入圖片描述
在這里插入圖片描述

5. 實體類對象(存在map)

<h3>請求參數綁定(封裝到實體類,存在Map集合)</h3><form action="/user/save5" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/>金額:<input type="text" name="fun.f2"/><br/>map集合---key1對應的Fun對象的f1賦值:<input type="text" name="map['key1'].f1"/><br/>map集合---key1對應的Fun對象的f2賦值:<input type="text" name="map['key1'].f2"/><br/>map集合---key2對應的Fun對象的f3賦值:<input type="text" name="map['key2'].f3"/><br/><input type="submit" value="提交"/>
</form>

也是固定寫法,[]內部寫key,外部的.跟value

在這里插入圖片描述

在這里插入圖片描述

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

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

相關文章

ES7210高性能四通道音頻ADC轉換模擬麥克風為IIS數字咪頭

特征 高性能多位 Delta-Σ 音頻 ADC 102 dB 信噪比 -85 分貝 THDN 24 位&#xff0c;8 至 100 kHz 采樣頻率 I2S/PCM 主串行數據端口或從串行數據端口 支持TDM 256/384Fs、USB 12/24 MHz 和其他非標準音頻系統時鐘 低功耗待機模式 應用 麥克風陣列 智能音箱 遠場語音捕獲 訂購…

微服務的分布式事務解決方案

微服務的分布式事務解決方案 1、分布式事務的理論模型1.1、X/Open 分布式事務模型1.2、兩階段提交協議1.3、三階段提交協議 2、分布式事務常見解決方案2.1、TCC補償型方案2.2、基于可靠性消息的最終一致性方案2.3、最大努力通知型方案 3、分布式事務中間件 Seata3.1、AT 模式3.…

人工智能在軟件開發中的角色:助手還是取代者?

人工智能在軟件開發中的角色&#xff1a;助手還是取代者&#xff1f; 隨著科技的飛速發展&#xff0c;生成式人工智能&#xff08;AIGC&#xff09;在軟件開發領域的應用越來越廣泛。從代碼生成、錯誤檢測到自動化測試&#xff0c;AI工具正成為開發者的重要助手。然而&#xf…

Postgresql - 用戶權限數據庫

1、綜述 在實際的軟件項目開發過程中&#xff0c;用戶權限控制可以說是所有運營系統中必不可少的一個重點功能&#xff0c;根據業務的復雜度&#xff0c;設計的時候可深可淺&#xff0c;但無論怎么變化&#xff0c;設計的思路基本都是圍繞著用戶、部門、角色、菜單這幾個部分展…

Django QuerySet對象,filter()方法

filter()方法 用于實現數據過濾功能&#xff0c;相當于sql語句中的where子句。 filter(字段名__exact10) 或 filter(字段名10)類似sql 中的 10 filter(字段名__gt10) 類似SQL中的 >10 filter(price__lt29.99) 類似sql中的 <29.99 filter(字段名__gte10, 字段名__lte20…

程序升級bootloader

文章目錄 概述什么是bootloader&#xff1f;為什么用&#xff1f;bootloader啟動流程圖步驟 下載過程代碼獲取本地配置信息獲取主機傳過來的配置信息bootloader發送2給上位機&#xff0c;上位機發送文件給bootloader根據網站復制CRC 燒寫flasherase啟動編譯問題 概述 用keil編…

聲明隊列和交換機 + 消息轉換器

目錄 1、聲明隊列和交換機 方法一&#xff1a;基于Bean的方式聲明 方法二&#xff1a;基于Spring注解的方式聲明 2、消息轉換器 1、聲明隊列和交換機 方法一&#xff1a;基于Bean的方式聲明 注&#xff1a;隊列和交換機的聲明是放在消費者這邊的&#xff0c;這位發送的人他…

Dynamic Web Module facet version問題

The default superclass, "javax.servlet.http.HttpServlet", according to the projects Dynamic Web Module facet version (3.1), was not found on the Java Build Path. 1.右鍵項目 2.點擊Properties 3.點擊Java Build Path&#xff0c;右邊找到Libraries&…

大模型在營銷領域的探索及創新

1 AIGA介紹 2 AIGA在營銷領域的 應用和探索 3 總結與展望

java 如何暴露header給前端

在Java中&#xff0c;將HTTP響應的Header暴露給前端通常涉及在Web應用程序的服務器端代碼中設置這些Header。這可以通過不同的Java Web框架來實現&#xff0c;比如Spring MVC、JAX-RS&#xff08;Jersey&#xff09;、Servlet等。這里&#xff0c;我將提供一個使用Spring MVC框…

學習筆記——交通安全分析13

目錄 前言 當天學習筆記整理 5城市主干道交通安全分析 結束語 前言 #隨著上一輪SPSS學習完成之后&#xff0c;本人又開始了新教材《交通安全分析》的學習 #整理過程不易&#xff0c;喜歡UP就點個免費的關注趴 #本期內容接上一期12筆記 當天學習筆記整理 5城市主干道交…

docker-compose Install gitlab 17.1.1

gitlab 前言 GitLab 是一個非常流行的開源 DevOps 平臺,用于軟件開發項目的整個生命周期管理。它提供了從版本控制、持續集成/持續部署(CI/CD)、項目規劃到監控和安全的一系列工具。 前提要求 Linux安裝 docker docker-compose 參考Windows 10 ,11 2022 docker docker-c…

多線程爬蟲技術詳解

&#x1f380;引言?? 在當今信息爆炸的時代&#xff0c;網絡爬蟲&#xff08;Web Crawler&#xff09;作為一種自動獲取網頁內容的程序&#xff0c;已經成為數據挖掘和信息檢索不可或缺的工具。多線程爬蟲作為提高爬蟲效率的重要手段&#xff0c;通過并行處理技術大幅度提升…

開發個人Go-ChatGPT--4 用戶管理

開發個人Go-ChatGPT–4 用戶管理 先看下我的目錄結構&#xff0c;可以根據個人愛好&#xff0c;進行重構 |-- Dockerfile |-- LICENSE |-- common | |-- callmodel | | |-- gemma.go | | -- models.go | |-- consts | | |-- code.go | | |-- common.go |…

k8s 部署RuoYi-Vue-Plus之nginx部署

1.掛載存儲 可參考 之前文章設置 https://blog.csdn.net/weimeibuqieryu/article/details/140183843 2.部署yaml 先創建命名空間ruoyi, 有就不用創建了 kubectl create namespace ruoyi我暫不需要使用xxjob和Monitor模塊, 所以去除了. 有需要再自行添加 需要先啟動后端服務…

(ECCV,2022)Mask-CLIP:從CLIP中提取自由密集標簽

文章目錄 Extract Free Dense Labels from CLIP相關資料摘要引言方法Mask-CLIPMask-CLIP 實驗 Extract Free Dense Labels from CLIP 相關資料 代碼&#xff1a;https://github.com/chongzhou96/MaskCLIP 論文&#xff1a;https://arxiv.org/abs/2112.01071 摘要 對比語言-…

SprongBoot及其基礎應用全套部署腳本和配置

POM.xml配置 </dependencies> <!--skywalking日志監控依賴--><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>8.5.0</version></dependency&g…

修改編譯依賴openssl的libcrypto.so

由于centos7默認使用openssl1.0.2k的libcrypto.so.10共享庫。即使openssl升級為3.0.11后&#xff0c;編譯使用ldd命令查看共享庫依舊會引用libcrypto.so.10。 現希望引用libcrypto.so.3&#xff0c;需要在生成動態鏈接庫的CMakeLists.txt中增加如下配置&#xff0c;明確指定ope…

《警世賢文》摘抄:守法篇、惜時篇、修性篇、修身篇、待人篇、防人篇(建議多讀書、多看報、少吃零食多睡覺)

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140243440 長沙紅胖子Qt&#xff08;長沙創微智科&#xff09;博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、OpenCV…

mysql 連接出現 Public Key Retrieval is not allowed

在MySQL連接中出現“Public Key Retrieval is not allowed”錯誤&#xff0c;通常是因為在使用安全套接字層&#xff08;SSL&#xff09;連接時遇到了問題。這是因為MySQL 8.0及以上版本對安全性要求更高&#xff0c;特別是在使用密碼插件如caching_sha2_password時&#xff0c…