行の背景色が交互に変わるHTMLテーブルを生成するカスタムJSPタグを定義したいと思います。したがって、CSSクラス「odd」と「even」は、テーブルの行インデックスに応じて設定されます。
JSPタグのない例は正常に機能し、問題は次のとおりです。以下のカスタムタグの例で何が問題になっていますか?変数「rowIndex」を両方のカスタムタグに渡すにはどうすればよいですか?
参照http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.htmlは役に立ちません。
ありがとう
動作するJSPページの例:
<c:set var="rowIndex" value="1"/>
<table class="datatable">
<tbody>
<tr class="${(rowIndex %2 == 0) ? 'odd' : 'even'}"><c:set var="rowIndex" value="${rowIndex+1}"/>
<td width="200px"><bean:message key='myKey' /></td>
<td>todoValue</td>
</tr>
<tr class=${(rowIndex %2 == 0) ? 'odd' : 'even'}><c:set var="rowIndex" value="${rowIndex+1}"/>
<td><bean:message key='myKey' /></td>
<td>todoValue</td>
</tr>
</tbody>
</table>
動作しないカスタムタグのあるJSPページの例:
JSPページ
<%@taglib tagdir="/WEB-INF/tags" prefix="myApp"%>
....
<myApp:keyValueDataTable>
<myApp:keyValueDataTableRow />
<myApp:keyValueDataTableRow />
<myApp:keyValueDataTableRow />
</myApp:keyValueDataTable>
dataTable.tag
<%@ include file='/tiles/taglibs.inc'%>
<%@tag description="Description" pageEncoding="UTF-8"%>
<%@ variable name-given="rowIndex" %>
<c:set var="rowIndex" value="1" />
<table class="datatable">
<tbody>
<jsp:doBody/>
</tbody>
</table>
tableRow.tag
<%@ include file='/tiles/taglibs.inc'%>
<%@tag description="Description" pageEncoding="UTF-8"%>
<%@ variable name-given="rowIndex" %>
<tr class="${(rowIndex %2 == 0) ? 'odd' : 'even'}">
<c:set var="rowIndex" value="${rowIndex+1}" />
<td width="200px"><c:out value="Index=${rowIndex}"></c:out> <bean:message key='myKey' /></td>
<td>todoValue</td>
</tr>