tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
26
ZUGRIFFE
4038
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Basti54
    Basti54 Basti54 ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    159
    Und ich schon wieder. Und nur Probleme.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
     <%@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?
     
    come ready to play!

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    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
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    Avatar von Basti54
    Basti54 Basti54 ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    159
    also im gesamten Projekt importiere ich folgendes:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    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?
     
    come ready to play!

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    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
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    Avatar von Basti54
    Basti54 Basti54 ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    159
    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.
     
    come ready to play!

  6. #6
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    jo.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  7. #7
    Avatar von Basti54
    Basti54 Basti54 ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    159
    Also es geht nicht, hab es grade probiert....
    Ich hab jetzt auch alles richtig gemacht!?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    <%@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
     
    come ready to play!

  8. #8
    Avatar von Basti54
    Basti54 Basti54 ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    159
    Ich hab's:

    jslt.jar und standard.jar müssen in das common/lib verzeichnis von Tomcat! Ich hatte sie nur im Projekt!
     
    come ready to play!

  9. #9
    el_deguito el_deguito ist offline Mitglied
    Registriert seit
    Oct 2005
    Beiträge
    10
    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!
     

  10. #10
    Avatar von Basti54
    Basti54 Basti54 ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    159
    Mal nen Quelltext wäre zur Veranschaulichung ganz praktisch.
     
    come ready to play!

  11. #11
    el_deguito el_deguito ist offline Mitglied
    Registriert seit
    Oct 2005
    Beiträge
    10
    Hallo ihr zwei,

    sorry, ohne Code könnt ihr mir nur geringfügig weiterhelfen.
    Ich benutze das Lomboz-Eclipse. Meine tlds sind alle unter WEB-Inf/lib.
    Hier mein Code in der JSP-Datei, welche ich nur zum Testen der EL benutze:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <link href="pharmaservices.css" rel="stylesheet" type="text/css">
    <title>Test</title>
    </head>
     
    <jsp:useBean id="searchBean" class="de.fau.ontodrug.DrugSearch" scope="session"/>
    <jsp:useBean id="TMUtil" class="de.fau.ontodrug.TMUtil" scope="session"/>
    <jsp:setProperty name="searchBean" property="packageName"/>
    <jsp:setProperty name="searchBean" property="processed"/>
    <jsp:setProperty name="searchBean" property="searchCase"/>
     
    <body>
     
    <%-- header area --%>
    <jsp:include page="header.jsp" />
    <%-- end header area --%>
     
    <%-- navigation area --%>
    <jsp:include page="navigation.jsp" />
    <%-- end navigation area --%>
     
    <%-- beginn form --%>
    <div id="Input">
    <form>
    Arzneimittel: <input type="text" name="packageName" value="Bitte eintragen">
    &nbsp;
    <label><input name="searchCase" type="radio" value="Nebenwirkung" checked>&nbsp;Nebenwirkung</label>
    &nbsp;
    <label><input name="searchCase" type="radio" value="Kontraindikation">&nbsp;Kontraindikation</label>
    &nbsp;
    <input type="submit" value=" Suchen "/>
    <input type="hidden" name="processed" value="true"/>
    </form>
    </div>
     
    <br>
    <%-- end form --%>
     
        <c:forEach var="i" begin="1" end="10" step="1">
          <c:out value="${i}" />
     
          <br />
        </c:forEach>
        
        RemoteHost: <c:out value="${pageContext.session.remoteHost}"/><br>
     
    <c:if test="${searchBean.packageName}">
    <c:out value="Hello"/>
    </c:if>
     
    <c:out value="Hello"/>
     
    <%-- beginn output area --%>
    <% if (searchBean.isProcessed()&
            (searchBean.getPackageName()!= null) &
            (searchBean.getSearchCase()!= null)) { 
            %>
            
     
    <div id="Main">
     
    <div id="Titel">
    <jsp:getProperty name="searchBean" property="packageName"/>
    </div>
     
    <br>
     
    <div id="Inhalt">
     
    <div id="Titel">
    <%=searchBean.getSearchCase()%>
    </div>
     
    <%=searchBean.querySideEffects()%>
     
    <%  } %>
     
    </div>
     
    </div>
    <%-- end output area --%>
     
     
    <%-- beginn footer area --%>
    <jsp:include page="footer.jsp" />
    <%-- end footer area --%>
     
    </body>
    </html>

    Und hier der Inhalt meines web.xml - Files:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
        <display-name>TopicMaps</display-name>
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>default.html</welcome-file>
            <welcome-file>default.htm</welcome-file>
            <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>
        
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
          <taglib-location>/WEB-INF/fmt.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
          <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
          <taglib-location>/WEB-INF/c.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
          <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
          <taglib-location>/WEB-INF/sql.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
          <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
          <taglib-location>/WEB-INF/x.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
          <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
        </taglib>
        
    </web-app>

    Soweit ich dass sehe habe ich alles richtig einrichtet. Könnt ihr mir vielleicht sowas wie eine kurze Checkliste durchgeben, die man befolgen muss um die Expression Language zum laufen zu kriegen. Ich hab leider keine Ahnung mehr wo ich noch schauen soll. Hab schon dutzende Tutorials durchstöbert, aber meine EL-Teile werden nicht interpretiert.

    Danke schonmal im Voraus für Eurer Bemühungen.

    Gruss
    El_deguito
     

  12. #12
    THMD THMD ist offline Mitglied Gold
    Registriert seit
    Sep 2005
    Beiträge
    122
    Tach,

    nur mal so allgemein JSTL != EL. JSTL sind die Tags und EL die ${blub} Ausdrücke. Du kannst EL auch ohne JSTL verwenden.

    So zu deinem Problem. Du referenzierts eine Taglibrary in deiner JSP über eine URI. Die gleiche URI solltest du also auch in deiner Web-XML innerhalb von <taglib></taglib-uri> einsetzen.
    Des weiteren solltest du natürlich bei der <taglib-location> das korrekte Verzeichniss verwenden. In deinem Fall also
    Code :
    1
    
    <taglib-location>WEB-INF/lib/c.tld</taglib-location>
    wenn du die TLD's in WEB-INF/lib gepackt hast

    Dann noch am Rande - vergiss diese RT-Teile. Das Zeug stammt noch aus der guten alten Zeit, sollte aber in Zeiten von JSP2.0 und JSTL 1.1 nicht mehr bei Neuentwicklungen verwendet werden.

    Einen guten Gesamtüberlick über die ganze J2EE erhält man z.B. hier.

    Gruß
    THMD
     

  13. #13
    el_deguito el_deguito ist offline Mitglied
    Registriert seit
    Oct 2005
    Beiträge
    10
    Hallo THMD,
    danke erstmal für Deine Tipps. Das ich ELs auch ausserhalb JSTLs verwenden kann, war mir zwar schon klar. Ich hab auch vergessen zu erwähnen, dass meine Taglibs anscheinend interpretiert werden. Nur meine EL-Ausdrücke werden nicht interpretiert. Auch wenn ich die URIs korrigiere, wie Du es vorgeschlagen hast. Ich hab jetzt auch alle RT-Blöcke herausgenommen aus der web.xml. Hättest Du mir vielleicht einen direkten Link zur aktuellsten Version der JSTL 1.1 ?

    Danke für Deine Bemühungen schon mal im Voraus.
    Gruss
    El_deguito
     

  14. #14
    THMD THMD ist offline Mitglied Gold
    Registriert seit
    Sep 2005
    Beiträge
    122
    Guten Abend,

    die JSTL gibts zum Beispiel bei SUN als Bestandteil des WebServiceDeveloperPack . Früher gabs die Referenzimplemntierungen mal extra, aber das wurde scheinbar wegrationalisiert. Is ja auch viel schöner Komplettpackete von mehreren MB für ein paar kleine jar's zu ziehen - naja SUN halt.

    Zu deinem EL-Problem. Bist du Dir sicher, dass EL nicht funktioniert? Hast du einen EL-fähigen ServletContainer? Probier doch mal folgendes aus. Gib auf einer JSP mal folgendes Statement ein
    Code :
    1
    
    ${pageContext.class}
    und zwar ohne Tags drumrum. Wenn die JSP dann was anzeigt (in dem Fall den Klassennanem der ContextKlasse), dann funktioniert EL, wenn nicht solltest du deinen Servlet-Container updaten.

    Ansonsten fallen mir spontan zwei Sachen bei den von dir verwendetenJSTL-Tags ein, mit denen es eventuell zusammenhängen könnte.

    1. Lass mal die ganzen <c:out> Sachen weg - braucht man nicht, wenn EL vernünftig läuft.

    2.
    Code :
    1
    
    <c:if test="${searchBean.packageName}">
    Falls packageName ein boolean zurück gibt ist es ok, ansonsten wird es nicht funktionieren. Bei dem if test muss innerhalb der Klammern ein boolean rauskommen.

    Jo das wars erstmal.

    Gruß
    THMD
     

  15. #15
    el_deguito el_deguito ist offline Mitglied
    Registriert seit
    Oct 2005
    Beiträge
    10
    Hi THMD,

    thanxs für Deinen Tipp. Hab Dein Anweisung befolgt und
    Code :
    1
    
    ${pageContext.class}
    ohne Tags in die jsp geschrieben. Scheint wirklich am Servlet-Container zu liegen.
    Leider bin ich noch ein Grünschnabel was die Programmierung mit Java in Eclipse angeht.
    Könntest du mir bitte verraten wie ich den Servlet-Container in Eclipse update, d.h. wo kann ich einen aktuellen Servlet-Container bzw. die entsprechenden Jars runterladen. Und wenn ich dies getan hab. In welches Verzeichnis muss ich die Jars dann schmeissen bzw. was ist sonst noch nötig um den Container upzudaten.

    Ich wäre Dir dankbar wenn Du mir weiterhelfen könntest.
    Vielen Dank im Voraus.
    Gruss
    El_Deguito
     

Ähnliche Themen

  1. JSF 1.2 - h:-tags werden gerendert, f:-tags nicht?
    Von Firestorm696 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 19.03.10, 08:46
  2. Antworten: 4
    Letzter Beitrag: 27.02.10, 14:44
  3. MVC Konzept Frage - JSTL Tags funktionieren nicht in Facelets/MyFaces
    Von alan79 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 15.05.08, 23:23
  4. [JSF] Zugriff auf JSTL Werte mit nicht-<c: Tags
    Von Basti54 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 20.06.05, 10:55
  5. Sonderzeichen werden nicht interpretiert
    Von mC pAiN im Forum PHP
    Antworten: 2
    Letzter Beitrag: 16.01.04, 15:36