使用struts 1.2.9将JSP的VO列表传递给action

时间:2013-09-09 00:14:47

标签: java struts

我有一个JSP,它有两个标签,四个复选框和四个文本字段。由于这是一组数据并且可以是动态的,因此这些字段存储在值对象中并存储在列表中,并且此列表将传递给操作类。

问题在于,当提交表单时,我无法通过表单将更新的值列表导入Struts。我正在使用Struts 1.2.9

以下JSP的代码片段:

<logic:iterate name="monthlyGainLossForm" property="ptcList" id="ptc"> 
<mf:td> 
  <html:text name="ptc" property="ptcName" /> 
  <html:hidden name ="ptc" property="ptcName"/> 
</mf:td> 
<mf:td>
  <html:text name="ptc" property="ptcActive" />
</mf:td> 
<html:hidden name ="ptc" property="ptcActive"/> 
<mf:td>
  <html:checkbox name="ptc" disabled="false" property="msaPtcLtcGLType" styleClass="input"/> 
  <html:hidden name ="ptc" property="msaPtcLtcGLType"/>
</mf:td> 
<mf:td>
  <html:text name="ptc" readonly="true" property="msaPtcLtcGLAmt" styleClass="input"/> 
  <html:hidden name ="ptc" property="msaPtcLtcGLType"/>
</mf:td> 

2 个答案:

答案 0 :(得分:0)

您不应同时对同一字段使用这两种输入类型:html:texthtml:hidden。删除其中一个您不需要的。

所以应该是这样的:

<mf:td> 
  <html:text name="ptc" property="ptcName" /> 
</mf:td> 

和休息区相同。

答案 1 :(得分:0)

代码段并不完整。但问题是价值没有传递给行动。我通过将以下代码行放在JSP中来修复它。通过这种方式,我将通过形式实现价值。

        <logic:iterate name="monthlyGainLossForm" property="ptcList" id="productTaxCat">
        <html:hidden name="productTaxCat" property="ptcId" indexed="true" />
        <html:hidden name="productTaxCat" property="ptcName" indexed="true" />
        <html:hidden name="productTaxCat" property="ptcActive" indexed="true" />
        <mf:tr>
            <mf:td><bean:write name="productTaxCat" property="ptcName"/></mf:td>
            <mf:td><bean:write name="productTaxCat" property="ptcActive"/></mf:td>
            <mf:td><html:checkbox name="productTaxCat" property="msaPtcLtcGLType" styleClass="input" indexed="true"/></mf:td>
            <mf:td><html:text name="productTaxCat" property="msaPtcLtcGLAmt" styleClass="label" style="width:100px;vertical-align:middle;" disabled="true" indexed="true"/></mf:td>
            <mf:td><html:checkbox name="productTaxCat" property="msaMthlyStcGLType" styleClass="input" indexed="true"/></mf:td>
            <mf:td><html:text name="productTaxCat" property="msaMthlyStcGLAmt" disabled="true" styleClass="label" style="width:100px;vertical-align:middle;" indexed="true"/></mf:td>
            <mf:td><html:checkbox name="productTaxCat" property="nonMsaPtcGLType" styleClass="input" indexed="true"/></mf:td>
            <mf:td><html:text name="productTaxCat" property="nonMsaPtcGLAmt" disabled="true" styleClass="label" style="width:100px;vertical-align:middle;" indexed="true"/></mf:td>
            <mf:td><html:checkbox name="productTaxCat" property="nonMsaStcGLType" styleClass="input" indexed="true"/></mf:td>
            <mf:td><html:text name="productTaxCat" property="nonMsaStcGLAmt" disabled="true" styleClass="label" style="width:100px;vertical-align:middle;" indexed="true"/></mf:td>
        </mf:tr>
        </logic:iterate>

感谢所有有用的评论。