logic:iterate可以通过循环进行集合输出,怎么用它来进行集合输入的?也就是把 <bean:write/> 改成 <html:text/> 。或者有没有其他方式可以实现集合输入的?谢谢

解决方案 »

  1.   

    譬如如下代码
    <html:form action="/ContentModifyAction.do" method="post">
        <logic:iterate name="contentListForm" property="contentList" id="content" 
    type="com.priceInfo.form.Content" scope="session" >
    <tr>
    <td width="100" height="20" align=center>
        <bean:write name="content" property="columnName"/>
    </td>
    <td>
        <html:text name="content" property="content" />
    </td>
        </tr>
        </logic:iterate>
    </html:form>
    其中contentListForm是session里面的form,contentList是form中的一个数组,数组中的对象是content,有两个属性columnName和content,其中contentName通过logic:iterate循环显示出来,同时我想把content通过html:text接收用户的输入,存储到contentList数组中对应元素的对应属性中。上面的代码总是接收不到,所以我想问问有没有其他的办法。谢谢
      

  2.   

    struts好久没用,struts标签不太会用了.
    就直接用HTML了.注意下面红色的两部分,在后台取得的是名字为
    columnNames和contents的两个数组,相同下标的2个数组中元素一一对应.
    有了这样的2个数组,你就可以做一些赋值操作来实现你的逻辑.<html:form   action="/ContentModifyAction.do"   method="post"> 
            <logic:iterate   name="contentListForm"   property="contentList"   id="content"   
    type="com.priceInfo.form.Content"   scope="session"   > 
    <tr> 
    <td   width="100"   height="20"   align=center> 
            <bean:write   name="content"   property="columnName"/> 
    <input type="hidden" name="columnNames" value="<bean:write name="content" property="columnName"/>">
    </td> 
    <td> 
            <!--html:text name="content"   property="content"   /--> 
    <input type="text" name="contents" >
    </td> 
            </tr> 
            </logic:iterate> 
    </html:form> 
      

  3.   

    在页面对应得form里面定义一个数组属性,如String []content1;
    <html:text   name="content"   property="content1"   /> 改成
    <html:text   property="content1"   />
    form得传到后台后,数组里面保存了输入得值。
      

  4.   

    3楼的果然厉害,太感谢了。/bow