Условие проверить, является ли класс объекта датой. - PullRequest
2 голосов
/ 23 февраля 2012

Я хочу проверить, является ли объект классом, и выполнить некоторое форматирование, если это дата.Как бы установить if условие?

<table align="center" class="data_extract vert_scroll_table" >
  <tr>
    <c:forEach var="heading" items="${results.headings}"> 
      <th class="data_extract">${heading}</th>
    </c:forEach>
  </tr>
  <c:forEach var="row" items="${results.data}">
    <tr>
      <c:forEach var="cell" items="${row}" varStatus="rowStatus">
        <td class="data_extract">
          <c:choose>
            <c:when test="${results.types[rowStatus.index].array}">
              <c:set var="comma" value="," />
              <c:forEach var="elem" items="${cell}" varStatus="cellStatus">
                <c:set var="myVar" value="${cellStatus.first ? '' : myVar} ${elem} ${cellStatus.last ? '' : comma}" /> 
              </c:forEach>
              <span class="mouseover_text" title="${myVar}">${myVar}</span>
            </c:when>
            <c:otherwise>
              <c:choose>
                <c:when test="${results.types[rowStatus.index].componentType.class.name eq 'java.sql.Timestamp'}"> 
                  <fmt:formatDate value="${cell}" pattern="${date_pattern}" />
                </c:when>
                <c:otherwise>
                  ${cell}
                </c:otherwise>
              </c:choose>
            </c:otherwise>
          </c:choose>
        </td>
      </c:forEach>
    </tr>
  </c:forEach>
</table>

1 Ответ

3 голосов
/ 23 февраля 2012

JSTL будет вызывать стандартные методы получения сеттера, чтобы вы могли использовать методы getClass () и getName ()

<c:if test="${results.types[rowStatus.index].componentType.class.name 
              eq 'java.util.Date' }">
...