2010-11-03 14 views
6

Hola me dieron el siguiente código:Problemas con JSTL forEach en JSF 2

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:p="http://primefaces.prime.com.tr/ui" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
> 

<h:body> 
<c:forEach items="#{backingBean.personList}" var="person"> 
    <h:outputText value="#{person.name}" /> 
</c:forEach> 
</h:body> 
</html>  

Esta falla con:

java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTagStatus 

utilizo jstl-impl-1.2.jar. ¿Alguien podría ayudarme en esto? Gracias

Marcel

Respuesta

5

¿Qué pasa con standard.jar?

¿Tiene ambos JAR en WEB-INF/lib?

+0

Eso fue rápido. Utilicé la implementación 1.2 de https://jstl.dev.java.net/download.html que no ofrece standard.jar. Ahora probé la versión 1.1.2 de jakarta y funciona. Gracias Marcel –

+2

Si eso solucionó el problema, significa que su web.xml se decantó como servlet 2.4 o anterior en lugar de servlet 2.5 o posterior. Intenta declarar el web.xml a la versión máxima de servlet según lo admite servletcontainer. – BalusC

2

Si la memoria me sirve bien, el núcleo JSTL usa EL que tiene una sintaxis como esta ${} en lugar de #{}.

Cuestiones relacionadas