一个FORM,里边是从LIST中遍历出来的一系列对象。
如:
<logic:iterate id="m" name="bom" scope="session">
    <div id="td">
<bean:write name="m" property="materialcode"/>| 
<bean:write name="m" property="materialtype"/>|
<bean:write name="m" property="materialsupplier"/>|
<bean:write name="m" property="area1"/>|
<bean:write name="m" property="area2"/>|
<bean:write name="m" property="area3"/>|
<bean:write name="m" property="area4"/>|
<input type="text" name="<bean:write name='m' property='materialcode'/>_amount" size="32" style="width:42px; height:20px" /> 件
<input type="hidden" name="mcode" value="<bean:write name='m' property='materialcode'/>" />
    </div>
</logic:iterate>现在我想把这个表单中从bom中遍历出来的 materialcode 信息,area1 .... area4 信息 ,还有input要求用户输入的 数量(件) 信息 通过ACTION提取出来进行一些计算,我该怎么写ACTIONFORM和ACTION来获取这些数值呢?

解决方案 »

  1.   

    <logic:iterate id="m" name="bom" indexId="iden" scope="session"> //这里面加一个indexId="iden"属性
        <div id="td"> 
    <bean:write name="m" property="materialcode"/>| 
    <bean:write name="m" property="materialtype"/>| 
    <bean:write name="m" property="materialsupplier"/>| 
    <bean:write name="m" property="area1"/>| 
    <bean:write name="m" property="area2"/>| 
    <bean:write name="m" property="area3"/>| 
    <bean:write name="m" property="area4"/>| 
    <input type="text" name="amount_${iden}" size="32" style="width:42px; height:20px" /> 件 
    //我把你的这个名字改了为了好取值
    <input type="hidden" name="mcode" value=" <bean:write name='m' property='materialcode'/>" /> 
        </div> 
    </logic:iterate> 
    <input type="hidden" name="number" value="<bean:define id="dataList" name="bom" type="java.util.List" 
    scope="request" />"/>//这里加一个有多少个文本筐
    ACTION里面:
    int i=Integer.parseInt(request.getParameter("number"));
    String []amount=null;//这个数组就是你要的每个文本筐的值
    for (int j = 0; j < i; j++) {
    amount[j]=request.getParameter("amount_"+j);
    }
      

  2.   

    谢谢 LS 的,现在我针对自己这个已经有了一个答案,已经能够成功的按原来JSP页面的顺序对应的得到数值了。不过写起来比拟这个麻烦点,特别是ACTIONFORM里边,还写了个方法。