[JSF] JSTL Tags werden nicht interpretiert

Basti54

Erfahrenes Mitglied
Und ich schon wieder. Und nur Probleme.

Code:
 <%@page contentType="text/html"%>
 <%@page pageEncoding="UTF-8"%>
 
 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
 <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
 <%@taglib uri="http://myfaces.apache.org/extensions" prefix="x"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
 
 <html>
 <f:view>
 	<f:loadBundle basename="resources.props.languages" var="lang" />
 	<head>
 		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 		<title><h:outputText value="#{lang.title_route_input}" /></title>
 		<%@include file="../style.inc" %>
 	</head>
 	<body>
 
  
 			<h:panelGroup styleClass="monocolumn">
 <c:forEach items="${routeElements}" var="element" varStatus="index">
 	<c:out value="${element}" />
 <c:out value="${element.name}" />
 </c:forEach>
 
 </h:panelGroup>
 	</body>
 	</f:view>
 </html>

Mal leicht verkürzt dargestellt. Angezeigt wird mir aber nicht der Inhalt des elements sondern einfach nur :
${element}
oder halt auch:
${element.name}

Es wird also nicht interpretiert. Ich nutze JSF und habe auch die jstl.jar und standard.jar in das Projekt eingebunden. Was mache ich falsch?
 
Hallo!

Es wird also nicht interpretiert. Ich nutze JSF und habe auch die jstl.jar und standard.jar in das Projekt eingebunden. Was mache ich falsch?
Du mußt auch die JSTL libs/Tags benutzen die "Expressions" unterstützen. Diese tragen meistens das suffix "el" bzw "rt".

Gruß Tom
 
also im gesamten Projekt importiere ich folgendes:

Code:
commons-beanutils-1.6.1.jar
   commons-beanutils.jar
   commons-codec-1.2.jar
   commons-collections.jar
   commons-digester.jar
   commons-el.jar
   commons-fileupload-1.0.jar
   commons-logging.jar
   commons-validator.jar
   demo-components.jar
   jakarta-oro.jar
   jsf-api.jar
   jsf-impl.jar
   jstl.jar
   myfaces.jar
   myfaces-extensions.jar
   myfaces-impl.jar
   myfaces-jsf-api.jar
   myfaces-wap.jar
   myfaces-xdoclet.jar
   mysql-connector-java-3.0.16-ga-bin.jar
   standard.jar


Was fehlt denn jetzt?
 
Hallo!

Wie ich sehe verwendest du auch u.A. jstl Tags ... von genau diesen benötigst du für deine ${v....} Ausdrücke die "-rt" Versionen. Wenn du dir beispielsweise die aktuelle Struts-Distribution herunterlädst findest du dort zum einen mal die passenden JSTL tld's (z:bsp. core-rt.tld ...) und mit dem standard.jar eine Apache Implementierung des jstl 1.1 Standards. Diese bindest du einfach in dein System ein (an passen der Taglib definition etc...)

Gruß Tom
 
also du meinst, statt
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

dann lieber:
<%@taglib uri="c:\einPfad\einProjekt\web\web-inf\c-rt.tld" prefix="c"%>

die ich in Struts gefunden hab!?

die standard.jar hab ich ja schon. Die ist allerdings ins Projekt eingebunden, nicht in den libs von Tomcat oder so.
 
Also es geht nicht, hab es grade probiert....
Ich hab jetzt auch alles richtig gemacht!?
Code:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%--<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>--%>
<%@taglib uri="../WEB-INF/tlds/c-rt.tld" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="../WEB-INF/tlds/x-rt.tld" prefix="x"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
<f:view>
    <f:loadBundle basename="resources.props.languages" var="lang" />
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><h:outputText value="#{lang.title_route_input}" /></title>
        <%@include file="../style.inc" %>
    </head>
    <body>

 
<c:forEach items="${routeElements}" var="element" varStatus="index">
    <c:out value="${element}" />
</c:forEach>

    </body>
    </f:view>
</html>

Standard.jar und jstl.jar sind auch in den Bibliotheken im Projekt mit angegeben...

Hilfe
 
Ich hab's:

jslt.jar und standard.jar müssen in das common/lib verzeichnis von Tomcat! Ich hatte sie nur im Projekt!
 
Hallo Thomas oder wer auch immer mir helfen kann,
ich habe da eine Frage. Ich arbeite hier mit einem Eclipse/Lomboz. Hab eine jsp-Datei geschrieben und fange gerade an JSTL-Tags zu verwenden. Die werden ohne Probleme umgesetzt. Leider werden beim darstellen der JSP-Datei im Browser die Expressions nicht interpretiert. Woran kann das liegen? Kennst Du dieses Problem evtl. schon?
Wäre froh, wenn mir jemand helfen könnte.
Danke schon mal im voraus!
;)
 
Zurück