[英]struts2 How read value iterator from jsp to action
我是java和struts2的新手,請幫忙。 從一個動作中,我已經閱讀並處理了在jsp中創建的列表
我的問題是,如何從迭代器的操作訪問數據?
JSP頁面
<s:iterator value="settoriList" var="myObj">
<tr>
<td>
<s:if test="#myObj.selected == 1">
<s:checkbox name="selected" fieldValue="%{cdSettore}" checked="checked"/>
<s:property value="cdSettore" />
</s:if>
<s:if test="#myObj.selected == 0">
<s:checkbox name="selected" value="false" fieldValue="%{cdSettore}" />
<s:property value="cdSettore" />
</s:if>
</td>
<td><s:property value="dsSettore" /></td>
<td><s:property value="dtIniVali" /></td>
<td><s:property value="dtFineVali" /></td>
</tr>
</s:iterator>
</table>
<s:hidden name="cdConve" />
<s:hidden name="process" value="saveSettori"/>
</s:form>
這是我嘗試訪問數據的方式
private List<GenSettori> settoriList;
public List<GenSettori> getSettoriList() {
return settoriList;
}
public void setSettoriList(List<GenSettori> settoriList) {
this.settoriList = settoriList;
}
private String[] selected;
public String[] getSelected() {
return selected;
}
public void setSelected(String[] selected) {
this.selected = selected;
}
--------
settoriList = new ArrayList<GenSettori>();
System.out.println("list sett: "+settoriList);
for(int i=0;i<getSettoriList().size();i++){
if (getSelected()[i]!=""){
System.out.println("not selected "+getSelected()[i]);
}
}
---------
我的頁面由所選字段,描述和日期組成。
預先感謝您的任何幫助
您可以通過以下幾行將字符串數組從jsp轉換為動作類
在jsp中
<s:hidden name="cdSettore" value="%{cdSettore}"></s:hidden>
如果您願意,可以使用
<s:if test="#myObj.selected == 0">
<s:hidden name="cdSettore" value="%{cdSettore}"></s:hidden>
</s:if>
一次不被選中
動作課
private String[] cdSettore;
public void setCdSettore(String[] cdSettore) {
this.cdSettore = cdSettore;
}
public String[] getCdSettore() {
return cdSettore;
}
for(int i=0;i<getCdSettore().length;i++){
System.out.println("not selected :"+getCdSettore()[i]);
}
或者你可以這樣做
在jsp中
<s:hidden name="cdSettore" value="%{cdSettore}"></s:hidden>
<s:if test="#myObj.selected == 1">
<s:checkbox name="selected" fieldValue="%{cdSettore}" checked="checked"/>
<s:property value="cdSettore" />
</s:if>
<s:if test="#myObj.selected == 0">
<s:checkbox name="selected" fieldValue="%{cdSettore}" />
<s:property value="cdSettore" />
</s:if>
動作課
for(int i=0;i<getCdSettore().length;i++){
int flag=0;
for(int j=0;j<getSelected().length;j++){
if(getCdSettore()[i].equalsIgnoreCase(getSelected()[j]))
{
flag++;
}
}
if(flag==0)
{
System.out.println("not selected :"+getCdSettore()[i]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.