Struts2筆記06 封裝獲取表單資料方式
1. 原始方式獲取表單資料封裝到實體類(User)
2.採用屬性封裝
使用屬性封裝獲取表單資料到屬性裡面,不能把資料直接封裝到實體類物件裡
實現步驟:
(1)在action成員變數位置定義變數
變數名稱和表單輸入項name屬性值一樣
(2)生成變數的set方法
表單資料
<form action="${pageContext.request.contextPath }/form.action" method="post">
使用者名稱:<input type="text" name="username"/><br/>
密 碼:<input type="password" name="password"/><br/>
地 址:<input type="text" name="address"/><br/>
<input type="submit" value="提交"/>
</form>
宣告表單屬性,並生成set方法
private String username;
private String password;
private String address;
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setAddress(String address) {
this.address = address;
}
public String execute() throws Exception {
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setAddress(address);
return NONE;
}
3.模型驅動封裝(重點)
使用模型驅動封裝可以把資料直接封裝到實體類物件裡
實現步驟:
(1)action實現ModelDriven
(2)實現介面裡面的方法getModel()
把建立物件返回
(3)在action裡建立實體類物件
public class DemoAction1 extends ActionSupport implements ModelDriven<User> {
//建立物件
//前提要求:表單輸入項name屬性值和實體類屬性名稱一樣
private User user = new User();
public User getUser() {
return user;
}
@Override
public User getModel() {
//返回建立的物件
return user;
}
public String execute() throws Exception {
System.out.println(user);
return NONE;
}
}
使用模型驅動和屬性封裝注意問題:
在一個action中,獲取表單資料可以屬性封裝,使用模型驅動封裝,不能同時使用在同一表單資料,如果同時使用只執行模型驅動
4.表示式封裝
使用表示式封裝可以把資料直接封裝到實體類物件裡
實現過程:
(1)在action裡宣告實體類
(2)生成實體類變數的set get 方法
(3)在表單輸入項的name屬性值裡寫表示式形式
//宣告實體類
private User user;
//生成實體類變數的set get方法
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String execute() throws Exception {
System.out.println(user);
return NONE;
}
<form action="${pageContext.request.contextPath }/form.action" method="post">
使用者名稱:<input type="text" name="user.username"/><br/>
密 碼:<input type="password" name="user.password"/><br/>
地 址:<input type="text" name="user.address"/><br/>
<input type="submit" value="提交"/>
</form>
實體類User
相關文章
- Struts2框架自學之路——Action獲取表單資料的方式以及表單資料的封裝框架封裝
- Struts2的資料封裝封裝
- modbustcp封裝使用獲取裝置資料示例TCP封裝
- C++ 使用 hiredis 封裝redis 的資料獲取介面C++Redis封裝
- 封裝getParam方法 ,獲取URL封裝
- 06從一個例項看資料抽象與封裝抽象封裝
- 解決PHP Post獲取不到非表單資料的問題PHP
- 過濾器中獲取form表單或url請求資料過濾器ORM
- OpenHarmony開發筆記:獲取原始碼(repo安裝)筆記原始碼
- jQuery獲取表單值及幾個表單事件jQuery事件
- Flutter筆記: 獲取網路資料及渲染列表Flutter筆記
- java學習路程(javaEE)之獲取表單資料、獲取引數、request域、會話技術(Cookie)Java會話Cookie
- 使用Python呼叫API介面獲取小紅書筆記詳情資料PythonAPI筆記
- GStreamer基礎教程06 - 獲取媒體資訊
- 封裝 Laravel 自定義表單請求封裝Laravel
- 封裝react antd的form表單元件封裝ReactORM元件
- 封裝Vue Element的form表單元件封裝VueORM元件
- RxRetrofit – 終極封裝 – 深入淺出 & 資料快取封裝快取
- SqlSugar 多資料來源的簡單封裝SqlSugar封裝
- Struts2防止表單重複提交
- trade.get( 獲取單筆交易的部分資訊)介面
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- Angular6筆記之封裝httpAngular筆記封裝HTTP
- JQuery獲取form表單中所有值jQueryORM
- 表單請求獲取路由引數路由
- 封裝scroll.js 獲取滾動條的值封裝JS
- 資料庫課程作業筆記 - 編寫表單驗證資料庫筆記
- SpringBoot整理筆記06Spring Boot筆記
- 2024/06/25筆記隨筆筆記
- 2024/06/26筆記隨筆筆記
- 2024/06/23筆記隨筆筆記
- 2024/06/22筆記隨筆筆記
- Struts2框架快速入門筆記框架筆記
- 一步步封裝完善一個資料驅動型-表單模型封裝模型
- 線性表__資料結構筆記資料結構筆記
- Day69 Spring MVC 概念及其配置方式、Springmvc單元方法獲取請求資料SpringMVC
- React 折騰記 - (8) 基於React+Antd封裝選擇單個文章分類(從構建到獲取)React封裝
- 【HTML】06表單標籤HTML
- 獲取當前修改的行記錄資料