サポート > Wagby Developer Network > 見栄えのカスタマイズ > ボディ部の構造(一覧表示) (2/2)

データの表示部

実際に(一覧表示用)データを出力するのは、showListStaffLp.jsp となります。 ここでは、同ファイルの構造を説明していきます。

Wagby によって自動生成される JSP ファイル名の末尾は、意味付けされています。 "Lp" の "L" は "List" を表します。一覧表示用の出力モデルを「リストモデル」と呼びます。 この詳細については、業務ロジックの追加で説明します。

項目名の表示

はじめに、項目名を出力する箇所を説明します。 Wagby では、項目名をクリックするとソート機能が呼び出されるようになっています。


...

<!-- 項目名表示処理はループの初回で行う -->

<c:if test="${__position.first}">

  ...

  <th class="display_label">

    <!-- ${staff_lp.userid.label} -->

      <c:choose>

        <c:when test="${fn:contains(staff_lp.sortable, 'userid')}">

          <a href= "showListStaff.do?action_Sort=userid">

          <fmt:message key="staff.userid"/>

          <c:if test="${staff_lp.sort == 'userid'}">

            <c:choose>

              <c:when test="${staff_lp.order == 'normal'}">

                <fmt:message key="__jfc_common.sortmark.normal"/>

              </c:when>

              <c:otherwise>

                <fmt:message key="__jfc_common.sortmark.reverse"/>

              </c:otherwise>

            </c:choose>

          </c:if>

          </a>

        </c:when>

        <c:otherwise>

          <fmt:message key="staff.userid"/>

        </c:otherwise>

      </c:choose>

  </th>

...

staff_lp モデルには sortable, sort, order という属性が用意されています。 sortable 属性に項目名が含まれていれば、ソート可能と判断します。

行毎の色の指定

一覧表示では、行毎に色の指定を行っています。


...

<c:choose>

  <c:when test="${__position.index % 2 == 0}">

    <c:set var="__class" value="display_field"/>

  </c:when>

  <c:otherwise>

    <c:set var="__class" value="display_field2"/>

  </c:otherwise>

</c:choose>

<c:choose>

  <c:when test="${__position.index % 2 == 0}">

    <c:set var="_onMouseOut" value="this.className='display_field'"/>

  </c:when>

  <c:otherwise>

    <c:set var="_onMouseOut" value="this.className='display_field2'"/>

  </c:otherwise>

</c:choose>

...

${__position.index} は、表示対象行を示します。偶数と奇数で判定させています。

データの表示

実際の staff_lp データを表示している箇所は次のとおりです。


...

<td align="left">

  <!-- ${staff_lp.userid} -->

  <c:out value="${item.userid[0].content}"/>

</td>

<td align="left">

  <!-- ${staff_lp_name} -->

  <div id="content_item$002fname" name="item$002fname">

    <c:set var="__value"

      value="${item_name}"/>

    <c:out value="${__value}"/>

  </div>

</td>

...

<td align="left">

  <!-- ${staff_lp.deptid} -->

  <c:out value="${item.deptid[0].content}"/>

</td>

<td align="left">

  <!-- ${staff_lp.titleid} -->

  <c:out value="${item.titleid[0].content}"/>

</td>

<td align="left">

  <!-- ${staff_lp.enterdate} -->

  <div id="content_item$002fenterdate" name="item$002fenterdate">

    <c:set var="__value" value="${item.enterdate}"/>

    <c:out value="${__value}"/>

  </div>

</td>

...

一覧表示用データが格納されたモデル staff_lp(末尾に "_lp" が付与されます)は、item という要素の繰り返しになっています。item は、表示するデータ一行分が含められています。

showListStaff_body.jsp の末尾に以下のコードを挿入することで、staff_lp モデルの内容を 確認することができます。(Tomcat のコンソールに表示されます。)

<%

  System.out.println(request.getAttribute("staff_lp"));

%>

前へ [ 1| 2 ]