Veröffentlicht 28. März 200619 j Hallo, heute mal eine "ganz blöde" Frage. Kann man Tags (oder Struts Tags) in einem Tag ansprechen? ... glaube ich irgendwie nicht ... Problemsituation ist, dass ich dynamisch Seite aufbauen möchte, die verschiedene Struts Tags inkludiert ... ich möchte mir aber den "Scherbenhaufen Expressions" auf der JSP sparen ... ich habe es mal Versucht, ein Tag zu instanzieren, die setter selber aufrufen, das funktioniert auch, d.h. es wird z.B. ein Link zusammengebaut, nur klappt es dann mit dem Tag-Mechanismus doEndTag .. ect. nicht mehr - ich kann auch mit der Standard JSP Fehlermeldung nix anfangen - kennt hier einer Lösung für mein Problem? Gruß
28. März 200619 j wow, da habe ich geguckt ... es funzzt doch, für alle die es interessiert -> LinkTag linkTag = new LinkTag(); linkTag.setHref("http://www.spiegel.de"); linkTag.setPageContext(this.pageContext); linkTag.doStartTag(); jspWriter.write("Some clickable link text"); linkTag.doEndTag(); Der PageContext muß explizit gesetzt werden und natürlich muß auch explizit die doEndTag-Methode aufgerufen werden. Bei den anderen Tags sollte das auch so ähnlich funktionieren. Gruß
30. März 200619 j Ok, aber wo ist das der Sinn ? Ich kenne zig Möglichkeiten wie man eine Seite dynamisch aufbaut (z.B. über Interfaces und Module, über XML/XSL(T) mit Xalan u.s.w.), aber noch nie dass man einen Tag im Code aufruft..
31. März 200619 j Naja, warum sollte man ziemlich mächtige Tags nicht erweitern, z.B. um (eigene) Berechtigungen und (eigene)JS-Funktionalitäten ohne dann das ganze nochmal neu zu schreiben? - z.B. kann man beim Link noch zusätzlich SSL ein- und ausschalten ... warum sollte ich da neue Technologie verwenden und alles nochmals von vorne beginnen, wenn es schon vorhanden ist. Gruß
31. März 200619 j Tags erweitern u.s.w.ist ja ok, aber Tags aus z.B. nem Servlet direkt über die Klasse anzusprechen ist ihmo absolut nicht state of the art.
31. März 200619 j OK, obiger Quelltext bezog sich natürlich auf ein Tag (siehe PageContext und JSPWriter) .. natürlich nicht auf ein Servlet, hier wäre es nicht angebracht, wie von Dir schon geschildert, denn, warum sollte man in einem Servlet ein Tag brauchen? ... das Tag sollte ja dann sowieso ausgelagerte Klassen benutzen, die dann auch das Servlet benutzen würde. Gruß P.S. Obiger Quelltext kommt immer dann zustande, wenn man nicht "vernünftig" ableiten kann, dann muss man halt BasisTag anpassen oder neu Instanzieren.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.