2

シナリオ:

いくつかのテーブル行をフェッチし、それらをクラスRowのオブジェクトに追加するクラスDatabaseDAOにメソッドgerRow()があります。

RowオブジェクトはArrayListに追加されます。getRow ()メソッドはそのArrayListを返します。

質問:

私の質問は、JSPでテキストの結果をどのように繰り返すのですか?<c:out>JSTLタグとを使用する予定です<c:ForEach>。それが唯一の選択肢だと思います。どのくらい正確にそれを行うことができますか?

難しさ:

私が呼び出すメソッドはArrayListを返します。ArraListには行のオブジェクトがあります。次に、その行の各列を分離して印刷する必要があります。

RowオブジェクトはRowクラスであり、Row.getColum1、Row.getColum2、Row.getColum3などがあります。

サンプル:

<jsp:useBean id="xxxxxxxxxxxx" class="xxxxxxxxxxxx" scope="request" />
<c:forEach var="xxxxxxxxxxxx" items="${xxxxxxxxxxxx}">
    <c:out value="${xxxxxxxxxxxx.xxxxxxxxxxxx}" />
    <c:out value="${xxxxxxxxxxxx.xxxxxxxxxxxx}" />
</c:forEach>
4

1 に答える 1

1

あなたはそれらが何であるかを知らないと思いますx。これを表現言語と呼びます。

これは必要ありません<jsp:useBean id="xxxxxxxxxxxx" class="xxxxxxxxxxxx" scope="request" />

通常、式言語は get メソッドに変換されますが、「get」という単語を入れる必要はありません。のようなものは次のようmyObj.getId();に書かれています#{myObj.id}。これで、これをhtmlテーブルに書きたい場合は、これを実行します(「次に、その行の各列を区切って印刷する必要がある」と言ったので、htmlテーブルを想定しています)。

<table>
    <c:forEach var="rowObj" items="${myClass.myArrayList}">
        <tr>
            <td>${rowObj.column1}</td>
            <td>${rowObj.column2}</td>
            <td>${rowObj.column3}</td>
        </tr>
    </c:forEach>
</table>

回答の最も重要な部分は私が提供したリンクであることに注意してください。そのすべてを学ぶ必要があります。すでにアレイリストをリクエストに入れていますか? ここでどちらが本当の問題かを判断するのは少し難しいです。

関連項目: JSP ファイルで Java コードを回避する方法

于 2013-03-18T13:17:15.940 に答える