Java-Code in Taglib wird nicht richtig ausgeführt.

nrg

Top Contributor
Hallo Zusammen,

ich habe hier eine taglib im Body einer JSP, die eine Datenbankverbindung aufbaut:

Code:
<tab:driver>DBTREIBER</tab:driver>
<tab:url>DBURL</tab:url>

wenn ich die Werte statisch reinschreib, funktioniert das auch. Jetzt würde ich diese gerne dynamisch anhand von properties setzten:

Code:
<tab:driver><%= props.getProperty("jdbc.driver") %></tab:driver>
<tab:url><%= props.getProperty("jdbc.url") %></tab:url>

Die Properties werden richtig eingelesen und auch die Property-Keys sind alle richtig angeben (habe sie testweiße ausgegen). Nur leider funktioniert es nicht 🙁.

Wie kann ich die Werte in der taglib dynamisch setzen?

Danke und Grüße
nrg
 
Du willst eine DBCon in einer JSP machen?!?

if(true){
wieso???? Das ist nicht schön!!! Das macht man so nicht, dbcon nur in der persistenzschicht!!
}else{
Hast du dich vlt falsch formuliert?
}
 
das mache nicht ich sondern eine andere software. mir geht es um die konfiguration davon, die ich immer ziemlich nervig finde. deshalb wäre mein ansatz, diese in properties auszulagern.
 
Du müsstest eine Referenz auf die Properties haben um dann mit ihnen arbeiten zu können. Oder wenn es generelle Sachen auf clientseite sind, dann würde ich diese in die session schreiben, sofern diese nicht schon riesig ist, bzw. sie dadurch nicht zu riesig wird
 
das habe ich schon versucht.. ich glaube irgendwas mach ich nicht falsch 😉. wenn ich im body einfach mal alle properties ausgebe, werden diese auch clientseitig anzeigt. für mein verständnis sollte das doch reichen, dass die taglib richtig funktioniert. oder nicht?
 
ja, es liegt definitv an der taglib. im debug-mode vom webserver sieht man auch, dass der jsp-code überhaupt nicht ausgeführt wird. die taglib wird mit Strings ala
Code:
<%= props.getProperty("...") %>
initialisiert... mit einer anderen taglib an einer anderen stelle funktioniert es wie erwartet.

es ist eine klasse, die TagSupport erweitert. Diese hat verschiedene setter, die von Kkassen, die BodyTagSupport erweitern aufgerufen werden. Das geschieht durch findAncestorWithClass.

kann es sein, dass die bodytags vor dem ausführen des jsp-codes intialisiert werden?
 
erledigt. der bodycontent in der taglib stand auf tagdependent und nicht auf JSP.

danke für die hilfe
 

Zurück
Oben