我有一个显示数据库数据的表。该表有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本身的列名称和电话号码的值。我不知道如何将文本框中的更新值设置为复选框的值属性,以便可以将更新后的值发送到servlet,然后再发送模型,用于在DB上操作。
我想在不使用JavaScript的情况下解决这个问题。
请帮忙!谢谢......
答案 0 :(得分:1)
只需将行ID作为复选框的值传递即可。不要在checikbox值上附加名称和pNum。
在提交时,在您的操作类中,根据需要将名称和pNum附加到rowId。
我希望这会有所帮助。我没有看到将名称和pNum附加到row.id作为jsp页面本身的复选框值的任何意义。