サポート > 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"));
%>
