Springboot表單

在spring boot中, 表單的提交中, 表單的各項輸入可以直接對應後臺對象的各屬性, 而不用編寫額外賦值代碼, 其中有幾點需要注意

舉例說明, 例子中只列出了講解使用到的部分, 實際開發中不會這麼簡單.
後臺對象

class User{
	private String username;
	private String password;
	//是否啓用
	private boolean enable = true;
	//角色集合
	private List<Role> roles;
}

html表單

<form action="" method="post">
	<input type="text" name="username">
	<input type="text" name="password">
	<input type="checkbox" name="enable">
	<select name="roles[0].id" class="form-control">
	        <option value="1">系統管理員</option>
	        <option value="3">單位管理員</option>
	        <option value="2">客戶</option>
	</select>
</form>
  1. 表單中input標籤的name屬性的值, 必須和對象的屬性名稱一致, 如表單中的name屬性爲’username’, 必須和User類中的username屬性名稱一致
  2. 表單中的checkbox控件, 當爲選中狀態時, 傳到後臺對象中的值爲true, 如果爲未選中狀態, 則該值不會傳到後臺, 也就是說, 當checkbox沒有選中時, 後臺對象的enable屬性值爲默認值, 這裏enable默認值爲true, 則checkbox未選中時, 後臺user的enable還是爲true, 解決方法是可以是enable默認值爲false.
  3. 當表單中的值對應對象的子對象屬性時, 可以使用子對象名稱.(點)子對象屬性的方式, 如roles[0].id
  4. 當表單中的值對用對象的數組或集合中的值時, 可以使用集合下標的方式賦值, 如roles[0].id, 數組和集合通用.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章