Allgemeine Fragen zu JSP JSF

Status
Nicht offen für weitere Antworten.

Bluevelvet64

Aktives Mitglied
Hallo Leute

nach nun 10 Jahren Applikationsentwicklung möchte ich mich nun mit der Entwicklung von WebApplikationen beschäftigen.

Ich setze dazu den TomCat ein.

Entwicklen tue ich unter Eclipse.

Ich habe nun folgende Frage und eine kuriose Sache.

Meine Frage.

Wo ligt der Zusammenhang des Eintrags einer URI in einem JSP-File und den verwendeten Jars.


Z.B bei Java verwende ich den import befehl z.B import java.awt.*; und kann nun z.B die Klasse Button verwenden.
der Eintrag java.awt ist ein Package im Zip File im Lib Pfad von Java.

Wenn ich nun folgenden Eintrag verwende

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

Worauf bezieht sich die uri.
Auf welches JAR greife ich zu.
Wie erkenne ich welchen Eintrag ich machen muss um welchen TAG in einem JAR File zu nutzen. zu nutzen
Worauf bezieht sich "http://java.sun.com/jsf/core" ???

Bevor jetzt jemand schreibt das liegt an irgendwelchen TLD Dateien. Ich habe ein laufendes Projekt in dem ich verschiedene Jars verwende. Aber es gibt in keinem verzeichnis irgendeine TLD Datei. Es muss also eine andere verknüpfung geben.

Nun das kuriose.

Um heraus zu finden, welcher Tag in welchem Jar liegt, habe ich nach und nach alle Jars aus dem BuildPath entfernt. Denoch kann ich weiterhin kompilieren und das Projekt aus Tomcat starten.
Ich verwende aber TAGs. Z.B - inputText - - outputText - - commandButton -

ich habe also keine Jars in meinem Buildpath aber das Projekt läuft.

Wenn ich nun den Eintrag

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

aus meine Datei entferne, meckert Eclipse logischerweise die verwendeten Tags an.

Wenn ich aber den Eintrag

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

verändere, z.B

<%@ taglib uri="http://javaxxx.sunxxxx.comxxx/xxxjsf/xxxcore" prefix="f" %>

Also Unsinn hinzuschreibe und kompiliere, dann läuft das projekt trotzdem.

Wer kann mir also eine kleine Anleitung geben, welche Jars benötigt werden, z.B für Tomahawk zu verwenden und welchen Bezug die zeile <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> zu den verwendeten TAGS und den eingebunden Jars hat.

Danke im Voraus

MfG

Heiko
 

WeirdAl

Bekanntes Mitglied
Hi,
das liegt an irgendwelchen TLD Dateien. :)
der URI Eintrag definiert den namespace der "core" Elemente und muss einfach mit der URI in der jsf.tld (oder wie die TLD genau heisst) übereinstimmen.

Diese TLD mit der zugehörigen URI wird sich wohl innerhalb der jsf-api.jar oder jsf-impl.jar befinden.

Hier mal ein Link zu Tag Infos von dem core Element "f".

Das bei Dir auch "Unsinns"-Uris funktionieren müsste eigentlich ein Cachingproblem sein. Ich habs bei mir testhalber abgewandelt und bekomme direkt einen Namespace-Fehler.

Cu
Alex
 

Bluevelvet64

Aktives Mitglied
Dann müsste es aber mehere Eintragungen geben, da es ja auch mehere Packages in einem Jar gibt. Sehe ich das richtig ???

MfG
 

WeirdAl

Bekanntes Mitglied
Mhh,
nee die TLD definiert, wie du zB <h:eek:utputText> nutzen kannst. D.h. du hast pro TagLibrary nur eine taglib-URI. Innerhalb der TLD verweisen die einzelnen Tags auf class files, die dann in der jar mit enthalten sind.

Cu
Alex
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben