0

データベースからテーブルを取得して、テーブルに入力しようとしています。テーブルは、EditableGrid(http://www.editablegrid.net/en)を使用して編集できます。私は次のようにテーブルに自動的にデータを入力しています:

結果を報告する

<table id="htmlgrid" border="1">

    <!-- column headers -->
    <tr>
        <c:forEach var="columnName" items="${result.columnNames}">
            <th><c:out value="${columnName}" /></th>
        </c:forEach>
    </tr>

    <!-- column data -->
    <c:forEach var="row" items="${result.rowsByIndex}">
        <tr>
            <c:forEach var="column" items="${row}">
                <td><c:out value="${column}" /></td>
            </c:forEach>
        </tr>
    </c:forEach>
</table>

結果は次のように取得されます。

c = ConnectionManager.getConnection();
            ps = c.prepareStatement("select * from test_persons",
                    ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            rs = ps.executeQuery();
            Result result = ResultSupport.toResult(rs);

            request.setAttribute("result", result);
            RequestDispatcher rd = request
                    .getRequestDispatcher("/display.jsp");
            rd.forward(request, response);

EditableGridを使用するには、trタグにIDが必要です。次に例を示します。

                    <tr id="R1">
                <td>Duke</td>
                <td>Patience</td>
                <td>33</td>
                <td>1.842</td>
                <td>uk</td>
                <td>patience.duke@gmail.com</td>
                <td>false</td>
                <td>11/12/2002</td>
            </tr>
            <tr id="R2">
                <td>Rogers</td>
                <td>Denise</td>
                <td>59</td>
                <td>1.627</td>
                <td>us</td>
                <td>rogers.d@gmail.com</td>
                <td></td>
                <td>07/05/2003</td>
            </tr>

jstlを使用してタグを自動的に挿入するにはどうすればよいですか?データベースは、クエリに応じて任意の数の行を返す場合があります。これは可能ですか?または、結果セットからテーブルにデータを入力して編集可能にする(後でデータベースを更新するため)ためのより良いソリューションはありますか。

4

1 に答える 1

0

ええと...行のループ内に、次のように記述します。

<c:forEach var="row" items="${result.rowsByIndex}">
    <tr id="${row.id}">
于 2013-02-08T12:14:51.947 に答える