2

これは、テーブルからデータを選択し、JSP taglibs を使用して HTML テーブルに結果を表示する一般的な方法です。Grailsでこれを行う一般的な方法は何ですか? つまり、数行の SQL を使用して、列名をヘッダーとして含む HTML テーブルを Grails でゼロから生成します。

<sql:query var="results" dataSource="${dsource}">
    select * from foo
</sql:クエリ>
(行数: ${results.rowCount})
<table border="1">
    <!-- 列ヘッダー -->
    <tr bgcolor=シアン>
        <c:forEach var="columnName" items="${results.columnNames}">
            <th><c:out value="${columnName}"/></th>
        </c:forEach>
    </tr>
    <!-- 列データ -->
    <c:forEach var="row" items="${results.rowsByIndex}">
        <tr>
            <c:forEach var="column" items="${row}">
                <td><c:out value="${column}"/></td>
            </c:forEach>
        </tr>
    </c:forEach>
</表>
4

2 に答える 2

2

この質問は、素朴な ASP.NET 開発者のようにコードを書くにはどうすればよいでしょうか? と言い換えることができます。(すべての ASP.NET 開発者がナイーブというわけではなく、非常に優秀な開発者もいます)

  1. gsp ページでは、任意の静的メソッドを使用できます。ページ スコープから任意の MyDomain.findBy、list()、count を使用できます。
  2. 条件クエリ MyDomain.createCriteria() を使用することもできます。その後、結果を taglib に渡すことができます。

    しかし、これらはすべて MVC の原則に違反しているようです。あなたのビューはただのビューであるべきです....

あなたが実際に尋ねたことは、grails アプリケーションにとって奇想天外なことではありません。マイクロソフトの世界では、クエリを実行し、それをデータグリッドに渡すのが一般的であることを認識しています....しかし、Grailsには直接的な類似物はなく、おそらく正当な理由があります

于 2008-11-05T20:49:41.730 に答える
0

説明されているようにtaglibを使用できます。Grailsにそれを認識させる必要があります。

于 2008-11-05T16:59:00.150 に答える