java - 使用 Java 和 JSP 按行迭代表时丢失数据

标签 java javascript html jsp

在jsp页面中,根据记录的数量,会执行这个tr并显示给用户。

for(int i=0; i<NoOfRecords.length;i++){
<tr>
    <td width="15%"> Transit Account & <%= acctId%>
    </td>
    <td width="15%"> <%=MultiModeConstants.GL_ACCT_NO%>
    </td>
    <td width="45%">
    <input type="text" id="multiModeAcctNo" name="multiModeAcctNo" desc="Multi Mode Transit Account Number" maxlength="9" class="body" size="9" tabindex="3" >
    </td>
    <td width="15%">
        Deposit
    </td>
    <td width="15%">
        $ <%= transactioAmount%>
    </td>
</tr>
}

根据记录数,在jsp页面中填充行数, multiModeAcctNo,字段将由用户输入(multiModeAcctNo);

例如,如果有4条记录,则有4次我在页面中输入不同的multiModeAcctNo

提交页面后,我只能获取第一个字段,我丢失了其他 3 个值。

假设如果我只读取一行,那么我就能很好地获取数据。我需要做什么?

我使用 java 和 jsp 作为编程语言。

最佳答案

您必须为输入字段创建动态名称,可能如下:

for(int i=0; i<NoOfRecords.length;i++){
<tr>
    <td width="15%"> Transit Account & <%= acctId%>
    </td>
    <td width="15%"> <%=MultiModeConstants.GL_ACCT_NO%>
    </td>
    <td width="45%">
    <input type="text" id="multiModeAcctNo_<%=i%>" name="multiModeAcctNo_<%=i%>" desc="Multi Mode Transit Account Number" maxlength="9" class="body" size="9" tabindex="3" >
    </td>
    <td width="15%">
        Deposit
    </td>
    <td width="15%">
        $ <%= transactioAmount%>
    </td>
</tr>
}

现在,在您的 servlet 中[希望您也能在那里获得 NoOfRecords.length],通过提供动态生成的名称来获取每个输入的值。可能是这样的:

String str = new String[NoOfRecords.length];
for(int i=0; i<NoOfRecords.length;i++){
    str[i] = request.getParameter("multiModeAcctNo_"+i);
}

关于java - 使用 Java 和 JSP 按行迭代表时丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5910072/

相关文章:

javascript - 如何在调用函数时暂停动画?

javascript - 更改特定的内容,例如使用 DOM

javascript - 我的正则表达式与条件语句不匹配

java - 正则表达式 - 测试 9 个相邻的相同数字

Javafx mvvmfx 文本区域追加

javascript - 重新加载后滚动到位置

html - 居中菜单链接

jquery - 从 DOM 中分离元素,将其插入到不同的位置

java - 使用 iText Java 向 PDF 目录添加新条目

java - Liferay DXP : adding java class to theme