1. 程式人生 > >strut2接收引數的三種方式(屬性驅動\物件驅動\模型驅動)說明

strut2接收引數的三種方式(屬性驅動\物件驅動\模型驅動)說明

strut2接收引數有三種方式(屬性驅動\物件驅動\模型驅動),分別對三種進行一個總結:

一.屬性驅動

Jsp程式碼

<body>

       <h1>屬性驅動</h1>

       <form action="${pageContext.request.contextPath}/Demo1Action" method="post">

使用者名稱:<input type="text" name="name"  ><br>

年齡:<input type="text" name="age"  ><br>

入職日期:<input type="text" name="hireDate"  ><br>

              <input type="submit" value="提交"  ><br>

       </form>

</body>

Action程式碼

//使用Action獲得表單提交引數

//1.Action中準備與引數鍵相同的屬性,並提供相應的set方法,引數值會自動封裝到屬性中.

//2.封裝引數還會幫我們自動型別轉換. (8大基本資料型別|指定格式的Date型別)

public class Demo7Action extends ActionSupport {

       private static final long serialVersionUID = 1L;

       private String name;

       private Integer age;

       private Date hireDate;

       @Override

       public String execute() throws Exception {

              System.out.println("name:"+name+",age:"+age+",hireDate:"+hireDate);    

return SUCCESS;

       }

       public void setName(String name) {

              this.name = name;

       }

       public void setAge(Integer age) {

              this.age = age;

       }

       public void setHireDate(Date hireDate) {

              this.hireDate = hireDate;

       }

}

二.物件驅動

Jsp程式碼

<body>

       <h1>物件驅動</h1>

       <form action="${pageContext.request.contextPath}/Demo8Action" method="post">

使用者名稱:<input type="text" name="user.name"  ><br>

年齡:<input type="text" name="user.age"  ><br>

入職日期:<input type="text" name="user.hireDate"  ><br>

              <input type="submit" value="提交"  ><br>

       </form>

</body>

Action程式碼

//使用Action獲得表單提交引數

//1 action中準備物件屬性.並提供物件的set/get方法

//2 表單提交的鍵格式:物件屬性名.屬性名

public class Demo8Action extends ActionSupport {

       private static final long serialVersionUID = 1L;

       private User user;

       @Override

       public String execute() throws Exception {

              System.out.println(user);

              return SUCCESS;

       }

       public void setUser(User user) {

              this.user = user;

       }

public User getUser() {

              return user;

       }

}

三.模型驅動

Jsp程式碼

<body>

       <h1>模型驅動</h1>

       <form action="${pageContext.request.contextPath}/Demo9Action" method="post">

使用者名稱:<input type="text" name="name"  ><br>

年齡:<input type="text" name="age"  ><br>

入職日期:<input type="text" name="hireDate"  ><br>

              <input type="submit" value="提交"  ><br>

       </form>

</body>

Action程式碼

//使用Action獲得表單提交引數

//1 action實現ModelDriven介面.在實現方法中返回封裝引數的User物件

//2 表單提交引數時,直接寫物件中屬性名即可.

public class Demo9Action extends ActionSupport implements ModelDriven<User> {

       private static final long serialVersionUID = 1L;

       private User user = new User();

       public User getModel() {

              return user;

       }

       @Override

       public String execute() throws Exception {

              System.out.println(user);

              return SUCCESS;

       }

}

 複雜型別接收

Jsp程式碼

<body>

       <h1>複雜型別接收</h1>

       <form action="${pageContext.request.contextPath}/Demo10Action" method="post">

陣列:<input type="text" name="arr"  ><br>

陣列:<input type="text" name="arr"  ><br>

陣列:<input type="text" name="arr"  ><br>

              List:<input type="text" name="list"  ><br>

              List:<input type="text" name="list"  ><br>

              List:<input type="text" name="list"  ><br>

              List:<input type="text" name="list[6]"  ><br>

              Map:<input type="text" name="map['name']"  ><br>

              Map:<input type="text" name="map['age']"  ><br>

              Map:<input type="text" name="map['hehe']"  ><br>

              <input type="submit" value="提交"  ><br>

       </form>

</body>

Action程式碼

//演示使用Action獲得表單提交引數 => 複雜型別接收

public class Demo10Action extends ActionSupport  {

       private static final long serialVersionUID = 1L;

       private String[] arr ;

       private List list;

       private Map map;

       @Override

       public String execute() throws Exception {

              System.out.println(Arrays.toString(arr));

              System.out.println(list);

              System.out.println(map);

return SUCCESS;

       }

       public void setArr(String[] arr) {

              this.arr = arr;

       }

   public void setList(List list) {

              this.list = list;

       }

       public void setMap(Map map) {

              this.map = map;

       }

}

相關推薦

strut2接收引數方式(屬性驅動\物驅動\模驅動)說明

strut2接收引數有三種方式(屬性驅動\物件驅動\模型驅動),分別對三種進行一個總結: 一.屬性驅動 Jsp程式碼 <body>        <h1>屬性驅動<

strut2接收引數方式(屬性驅動\物驅動\模驅動)

一.屬性驅動 Jsp程式碼 <body>        <h1>屬性驅動</h1>        <form action="${pageContext.request.contextPath}/Demo1Action" met

React路由傳參的方式 React中路由傳參及接收引數方式

React中路由傳參及接收引數的三種方式     方式 一:          通過params        

struts2 接受引數的兩方式(屬性驅動和模型驅動)

定義: 在struts2中,頁面的資料和action(控制層)傳輸基本上有兩種方式,一個是屬性驅動、另一個是模型驅動。 屬性驅動 基本資料型別的屬性對應: 就是Web頁面上html標籤

ssh框架總結之action接收參數的方式

ext 方式 clas ems driver cor void 圖片 div 頁面將參數傳遞給action的三種方式 一是通過屬性傳值: 將頁面和action的的屬性值保持一致,在action上寫上該屬性的set和get方法,這樣在頁面提交參數的時候,action就會調用s

struts2傳遞引數方式

作用:每次訪問struts2的任何一個action方法時,若該方法裡面需要物件的值,完全可以用struts2傳遞引數的三種方式: struts2傳遞引數的三種方式 在傳統的servlet中我們採用request和response傳遞引數,但是struts2如果想用同樣的

Struts2 接受引數方式

1. 屬性方式     1. Action 宣告屬性,且屬性值和頁面name屬性值一致,     2. 提供setXxx方法     ---- 接受少量資料 -------    &nb

UE4 UI更新的方式及具體實現的方式(最優化的方式是事件驅動

UE4中UI的更新分為下面三種方式:函式繫結和屬性繫結是Tick更新的,也就是說每幀都在呼叫資料就行更新,他們倆個原理是一樣的,最優化的方式是事件繫結! 1、函式繫結: 百分比血量 來舉例 1、拖入Progress Bar 2、在Progress裡新建繫結函式 3、設定如下:為了優化

mybatis3.1-[topic-18-20]-_對映檔案_引數處理_單個引數&多個引數&命名引數 _POJO&Map&TO 方式及舉例

筆記要點出錯分析與總結 /**MyBatis_對映檔案_引數處理_單個引數&多個引數&命名引數 * _POJO&Map&TO 三種方式及舉例 _ * 單個引數 : #{引數名} ,取出引數值; [mybatis 不會做特殊處理]

命令列執行Python指令碼時傳入引數方式

三種常用的方式 如果在執行python指令碼時需要傳入一些引數,例如gpus與batch_size,可以使用如下三種方式。 python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 p

load傳遞引數方式(步驟詳細附程式碼,要是你們看不懂我就放棄程式設計)

方式一:直接獲取上個頁面的資料; 這種方式主要依賴load這個方法的原理,這個其實就是一個本地ajax請求,所以前後兩個頁面是互通的,其資料是可以直接拿到的。例項如下: a頁面的程式碼: <script> var adata = "12"; $("#d

Spring Spring 靜態屬性 注入的方式

Spring靜態注入的三種方式: (說明:MongoFileOperationUtil是自己封裝的一個Mongodb檔案讀寫工具類,裡面需要依賴AdvancedDatastore物件例項,dsForRW用來獲取Mongodb資料來源) 在springframewo

彙編——子程式呼叫引數傳遞的方式(示例程式:個數累加求和)

一、子程式定義 子程式名      PROC     NEAR|FAR            &nbs

Jquery之Bind方法--引數傳遞與接收方法

//方法一、event.data function GetCode(event) { alert(event.data.foo); } $(document).ready(function() { $("#summary").bind("clic

在Mybatis中,解決資料庫欄位名與java實體類屬性名不一致的方式

在使用Mybatis來持久化資料庫時,有時候會碰到資料庫中表中的欄位與java實體類中屬性名不一致的情況,在這種情況下Mybatis是不能完成欄位的自動對映的。而通常情況下,資料庫及實體類是不應該被改的的。所以要在不改變資料庫以及實體類的情況下解決這個問題,下面是解決該問題

註冊jdbc驅動方式

--------------------------------------------------------------------------- ----------------------------------------------------------

註冊 Jdbc 驅動程式的方式及Class.forName 的作用

(1)jdbc中註冊驅動,首先匯入對應的包,例如mysql-connector-java-5.0.8-bin.jar。驅動包是java和具體資料庫之間的連線橋樑,由資料庫廠商開發。每一種資料庫對應一款驅動jar,甚至每一個版本的資料庫都有自己對應版本的驅動jar。 (2

[Python] 面向物件程式設計進階(一):控制屬性方式

[email protected]裝飾器 在文章Python面向物件程式設計及Property裝飾器中,通過@property裝飾器可以代替Python類的getter/setter方法,實現對私有屬性的訪問,在這裡對屬性相關的其他內容進行總結歸納。

Java方式實現傳送xml引數的WebService介面呼叫

專案開發中與第三方系統資料對接遇到的問題,僅用作記錄。 1.使用cxf呼叫(聯調時沒有收到響應資訊) JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance(); lo

Spring注入屬性方式

Spring三種方法注入屬性 1.        準備工作: 1)        新建Dao包,Service包 2)        在每個包內新建對應的介面,以及impl包 UserDao public interface UserDao {     public v