2010-11-03 16 views
6

Ciao ho ottenuto il seguente codice:Problemi con JSTL forEach a 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>  

questo viene a mancare con:

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

Io uso JSTL-impl-1.2.jar. Qualcuno potrebbe aiutarmi su questo? Grazie

Marcel

risposta

5

Che dire di standard.jar?

Avete entrambi JAR in WEB-INF/lib?

+0

Questo è stato veloce. Ho usato l'implementazione 1.2 da https://jstl.dev.java.net/download.html che non offre standard.jar. Ora ho provato la versione jakarta 1.1.2 e funziona. Grazie Marcel –

+2

Se questo ha risolto il problema, significa che il tuo web.xml è stato declassato come servlet 2.4 o precedente anziché servlet 2.5 o più recente. Prova a dichiarare la versione web.xml a max servlet come supportato da servletcontainer. – BalusC

2

Se la memoria mi serve correttamente, il core JSTL usa EL che ha una sintassi come questa ${} anziché #{}.