java – Struts逻辑:迭代输入字段

我目前有以下代码,数据显示正常.

<logic:iterate name="myList" id="product"  indexId="iteration" type="com.mycompany.MyBean">  
    <tr>  
        <td> <bean:write name="product" property="weight"/> </td>  
        <td> <bean:write name="product" property="sku"/> </td>  
        <td> <bean:write name="product" property="quantity"/> </td>  
    </tr>  
</logic:iterate>  

但现在我需要使“数量”部分可以修改.用户应该能够更新该字段,按提交,当它发送到服务器时,“myList”应该自动更新新的数量.

我试图在这方面寻求帮助,但我一直在寻找的只是如何显示数据的示例,而不是修改它.任何帮助,将不胜感激.

解决方法:

所以这很棘手,因为有很多事情要做才能使它发挥作用.首先,使用html标签在迭代器中声明你的标签,属性为INDEXED = TRUE,ID与名称不同,我还取出了“indexId”属性,使用简单的“索引”字作为索引:

<logic:iterate name="myList" id="myListI"   type="com.mycompany.MyBean">  
<tr>  
    <td> <html:input name="myListI" property="weight"  indexed="true"/> </td>  
    <td> <html:input name="myListI" property="sku"  indexed="true"/> </td>  
    <td> <html:input name="myListI" property="quantity"  indexed="true"/> </td>  
</tr>  

  

之后,为了使struts能够获取和设置bean的属性,您需要使用在iterate标记的id中编写的名称在集合对象中声明EXTRA get和set方法.在这种情况下,您将为“myListI”编写2个额外的get和set方法:

public void setMyListI(int index, myBean value){
    this.myList.add(value);
}
public myBean getMyListI(int index){
    return this.myList.get(index);
}
上一篇:java – Spring注入Struts RequestProcessor


下一篇:【Java】Struts2配置默认Action和配置Action的默认处理类