Estou tentando resolver um desafio proposto pela apostila da Caelum sobre adicionar DisplayTag no projeto. Estou tentando e tentando e, como aprendiz, não sei o que é.
Eis que o erro que recebo:
java.lang.NoClassDefFoundError: Could not initialize class org.displaytag.tags.TableTag
E eis que o meu código:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
<%@ page import="java.util.*, br.com.squa.jdbc.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:import url="header.jsp"></c:import>
<jsp:useBean id="dao" class="br.com.squa.jdbc.dao.UserDao"/>
<display:table name="${dao.list}" export="false" id="contato">;
<display:column title="Nome" property="name" />;
<c:choose>
<c:when test="${not empty user.mail}">
<display:column title="E-mail" property="mail" autolink="true" />
</c:when>
<c:otherwise>
<display:column title="E-mail" value="E-mail não informado" />
</c:otherwise>
</c:choose>
<display:column title="Endereço" property="adress" />
<fmt:formatDate value="${user.birth.time}" pattern="dd/MM/yyyy 'às ' HH:mm" var="textDate"/>
<display:column title="Data de Nascimento" value="${textDate}" />
</display:table>
<c:import url="footer.jsp"></c:import>
</body>
</html>
Como eu não consegui descobrir de fato qual .jar é o certo, baixei as últimas versões. Eu tenho os seguintes .jar na pasta lib:
- displaytag-1.2-sources.jar
- displaytag-1.2.jar
- displaytag-export-poi-1.2.jar
- displaytag-portlet-1.2.jar
Alguém pode me ajudar? Desde já, muito obrigado.