0

我有一个 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> 
4

2 回答 2

0

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

所以它应该是这样的:

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

其余字段也一样。

于 2013-09-09T05:39:36.340 回答
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>

感谢所有有用的评论。

于 2014-04-23T19:43:40.810 回答