我有一個arraylist,我已經設置爲jsp的hiddenField.Now,我必須在我的動作類中訪問這個列表。下面的代碼片段如下從jsp頁面的隱藏字段獲取arraylist到使用struts2的動作類
我的動作類
private ArrayList<TXT_File_Action> statusResult_list=new ArrayList<TXT_File_Action>();
private ArrayList<TXT_Beans> regenerateTXTList=new ArrayList<TXT_Beans>();
private ArrayList<TXT_Beans> pagingList=new ArrayList<TXT_Beans>();
private ArrayList<TXT_Beans> serverList=new ArrayList<TXT_Beans>();
public String getGenerateList()
{
for(int j=0;j<customers_accountList.size();j++)
{
dataList=txt_managerInstance.regenerateListData(id_no);
regenerateTXTList.add(dataList.get(0));
}
pagingList=getRegenerateTXTList();
setRegenerateTXTList(getRegenerateTXTList());
setPagingList(getPagingList());
return SUCCESS;
}
getters..n setters
我的JSP代碼是
<s:iterator value="pagingList">
<tr>
<td align="center"><s:property value="customerId" /></td>
<td align="center"><s:property value="cspId" /></td>
<td align="center"><s:property value="branchCode" /></td>
<td align="center" id="bcID"><s:property value="bcCode"/></td>
</tr>
</s:iterator>
和下面我這樣設置在jsp中隱藏字段列表:
<input type="hidden" name="serverList" id="serverList" value="<s:property value="pagingList"/>"/>
現在,當我點擊一個事件時,我想在我的操作類中列出這個列表。 每當我試圖打印此列表的大小SERVERLIST我行動我得到了以下錯誤:
java.lang.ArrayIndexOutOfBoundsException: -1
java.util.ArrayList.get(Unknown Source)
com.alw.action.TXT_File_Action.setPaginationList(TXT_File_Action.java:424)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
.
.
.
但我相信,我得到的所有Arrayllist數據這個隱藏字段,因爲我已經檢查這個我
頁**<input type="hidden" name="serverList" id="serverList" value="<s:property value="pagingList"/>"/>**
這是怎麼回事,如何在我的操作類中得到這個列表。 任何幫助將非常有幫助。
究竟是什麼setPagingList(getPagingList()); :O –
它不過是我的編碼風格,這是不好的做法? –
不,但它什麼也沒做......你用變量的當前值設置一個變量(當然,除非你把業務邏輯變爲getter和setter,否則這將是一個不好的做法)。 –