arv*_*unk 2 java jsp struts2 list hidden-field
我有一个arraylist,我已经设置为jsp的hiddenField.Now我必须在我的动作类中访问此列表.下面是代码片段如下
我的行动班
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
Run Code Online (Sandbox Code Playgroud)
我的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>
Run Code Online (Sandbox Code Playgroud)
在下面我在jsp隐藏字段中设置列表,如下所示:
<input type="hidden" name="serverList" id="serverList" value="<s:property value="pagingList"/>"/>
Run Code Online (Sandbox Code Playgroud)
现在,当我点击某个活动时,我想在我的动作类中使用此列表.每当我尝试在我的操作中打印此列表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)
.
.
.
Run Code Online (Sandbox Code Playgroud)
但我确定我在这个隐藏字段中获取所有Arrayllist数据,因为我已经在我的页面上检查了这一点
**<input type="hidden" name="serverList" id="serverList" value="<s:property value="pagingList"/>"/>**
Run Code Online (Sandbox Code Playgroud)
这有什么问题,如何在我的动作类中获取此列表.任何帮助都会非常有帮助.
你不能把一个List
或任何Object
直接放入一个input
或者s:hidden
,这里是DOCUMENT,属性value
应该是一个字符串.如果您打算这样做,则必须使用Struts2类型转换.
解决问题的最简单方法是将列表放入会话中.这是SessionAware的链接.
归档时间: |
|
查看次数: |
10452 次 |
最近记录: |