2

我有一个显示数据库数据的表。该表有 3 列,第一列是复选框。

<sql:setDataSource var="datasource" driver="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost/PhoneBookDB" user="root"
    password="12345" />

<sql:query var="pbook" dataSource="${datasource}">
    SELECT * FROM phoneBook
</sql:query>

<html:form action="/PhoneBookAction.do" method="post"  >        
    <table align="center" bgcolor="Khaki" border="5" bordercolor="SaddleBrown" cellpadding="10">
        <thead>
            <tr>
                <td align="center" ><b>Select</b></td>
                <td align="center" ><b>Name</b></td>
                <td align="center" ><b>Phone Number</b></td>
            </tr>
        </thead>

<c:forEach items="${pbook.rows}" var="row">
  <tr>
    <td align="center"> <input type="checkbox" align="middle" name="record" value="${row.id},${name},${pNum}"> </td>
    <td> <input type="text" name="name" maxlength="30" value="${row.c_name}" >  </td>
    <td> <input type="text" name="pNum" maxlength="10" value="${row.p_num}">   </td>
  </tr>
</c:forEach>

    </table>
    <html:submit property="method"  value="Edit"  />    
    <html:submit property="method" value="Delete" />
</html:form>

我希望用户能够从 JSP 本身更新名称电话号码列的值。我不知道如何将文本框中的更新值设置为复选框的 value 属性,以便可以将更新后的值发送到 servlet,然后发送到模型,以便在数据库上进行操作。
我想在不使用 JavaScript 的情况下解决这个问题。
请帮忙!谢谢...

4

1 回答 1

1

只需将行 ID 作为复选框的值传递。不要在 checikbox 值上附加名称和 pNum。

提交时,在您的操作类中,根据需要将名称和 pNum 附加到 rowId。

我希望这将有所帮助。我认为将名称和 pNum 作为 jsp 页面本身的复选框值附加到 row.id 没有任何意义。

于 2013-03-25T08:00:58.523 回答