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自体からName列とPhoneNumber列の値を更新できるようにしたいと思います。テキストボックスの更新された値をチェックボックスのvalue属性に設定して、更新された値をサーブレットに送信し、次にモデルに送信してDBで操作できるようにする方法がわかりません。JavaScriptを使わずにこれを解決したい。親切に助けてください!ありがとうございました...

4

1 に答える 1

1

チェックボックスの値として行IDを渡すだけです。checikboxの値にnameとpNumを追加しないでください。

送信時に、アクションクラスで、必要に応じて名前とpNumをrowIdに追加します。

これがお役に立てば幸いです。名前とpNumをjspページ自体のチェックボックス値としてrow.idに追加しても意味がありません。

于 2013-03-25T08:00:58.523 に答える