SpringMVC中使用bean來接收form表單提交的參數時的注意點


這是前輩們對於SpringMVC接收表單數據記錄下來的總結經驗:

SpringMVC接收頁面表單參數

springmvc請求參數獲取的幾種方法

 

下面是我自己在使用時發現的,前輩們沒有記錄的細節和注意點:

使用bean來接收form表單提交的參數時,pojo中必須含有默認的(即空的)構造函數,同時,需要設置到bean中的變量必須有setter方法。

注:以下代碼均為示例代碼,非本人實際運行代碼,請自行補充。

例如:我有一個bean類是User,具有變量username和password。同時,表單提交的內容為:

<form action="save-user-info" method="post">
    <span>帳號:</span><input type="text" name="username"><br>
    <span>密碼:</span><input type="text" name="password"><br>
    <input type="submit" value="保存">
</form>

那么,在User.java文件中必須具有

public User() {}

public void setUsername(String username) {
    this.username = username;
}

public void setPassword(String password) {
    this.password = password;
}

此時,我在Controller中才能成功接收到參數並生成對應的bean對象

@RequestMapping(value="/save-user-info")
public String saveUser(SsbiUser user) {
    System.out.println(user.toString());
    return "user-info";
}

通過一些測試,我把這個過程理解為,前台提交了一個包含User數據的form表單后,后台接受到參數后,首先會生成一個不包含任何參數的User對象,然后通過setter方法往這個空的對象這設置對應的值,最終得到我們需要的User對象。

而不是我一開始以為的,后台接受到參數以及直接調用對應的User(username, password)構造方法生成需要的對象。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM