程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> struts 2中對象數組的傳值

struts 2中對象數組的傳值

編輯:關於JAVA

大家用struts2時想必會經常遇到在JS或者JSP中往後台傳遞對象數組的問題,你是不是在一直為後台取值是null的問題而苦惱呢?下邊我來告訴大家究竟如何做才能取到值。

一、在Action中聲明數組對象(這裡也可以是List等集合),代碼如下:

public List<User> users = new ArrayList<User>();

這裡有兩點需要注意:

1、聲明可以是public也可以是private,private 要求必須生成get、set方法,推薦使用第二種方式,原理不再詳細說明,有問題可以留言。

2、對象數組(或者集合)必須進行初始化,否則寫的再好後台獲取的值仍為null。這種情況很多人都容易忽略。(簡單提醒下:平時用單個對象時可以從前台到後台傳遞該對象,但把該對象換成數組對象就不行了,原因在於單個對象有該對象的構造方法可以產生該對象的實例,而數組沒有,所以需要數組對象直接new 一個實例出來)。

二、在頁面中或者JS中用get或者post方式進行傳值吧,代碼如:

<input name="users[0].id" value="1">  
<input name="users[0].name" value="張三">  
<input name="users[1].id" value="2">  
<input name="users[1].name" value="李四">

在Debug模式下加斷掉,看看users是不是有值了?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved