Möchte JSP Code in Attribut eines HTML Tags hinein generieren

  • Themenstarter Themenstarter ThomasN
  • Beginndatum Beginndatum
T

ThomasN

Gast
Hallöle,

habe folgende Frage: ich erzeuge aus XML mittels XSLT eine jsp mit einem generierten HTML Anteil. Dieser soll jsp Code (<%...%>) in ein Attribut eines HTML tags hineingenerieren. Genauer soll
der Text und Attribute eines Pushbuttons mittels einer Methode einer Java Bean gesetzt werden.
Gewünschtes Ergebnis in einem konkreten Beispiel:

HTML:
<input type="submit" value="<%=PageTextsBean.getSubmitButtonText() %>" name="submitButton">

Folgendes habe ich versucht (im xsl-File):

Code:
...
<input type="submit" name="submitButton">
<xsl:attribute name="value"><xsl:text disable-output-escaping="yes">&lt;%=PageTextsBean.getSubmitButtonText() %></xsl:text></xsl:attribute>
</input>
...

ausserdem habe ich versucht die < und > Zeichen in CDATA sections zu packen, bzw. den ganzen Attributwert in eine CDATA section zu packen, sowie Kombinationen von CDATA section mit <xml:text>...</xml:text>.
Aber die < und > Zeichen werden in allen Fällen in &lt; und &gt; umgewandelt, was dann dazu führt, dass in der Anzeige als Name des Buttons der String
<%=PageTextsBean.getSubmitButtonText() %>
erscheint :-(.

Folgendes funktioniert dann 🙂 :

Code:
...
<input type="submit" name="submitButton">
<xsl:text disable-output-escaping="yes">&lt;%=PageTextsBean.getSubmitButtonText() %>
</xsl:text>
</input>
...
d.h. der der Methodenaufruf wird als Inhalt des <input> Tags generiert, nicht als "value" Attribut des Tags.
Damit wird tatsächlich der Button zur Laufzeit dynamisch beschriftet.
Aber das funktioniert natürlich nur mit dem "value" Attribut. Um Eigenschaften wie die Länge dynamisch aus einer Bean zu bestimmen muss ich auch Attritbutwerte dynamisch erzeugen.
Kann mir dazu vielleicht jemand einen Hinweis geben? Eventuell ein Parameter an der Transformation?
(ich benutze javax.xml.transform.Transformer, xalan)

Besten Dank und viele Grüsse,

Thomas
 
Hallo Noctarius,

danke für den Hinweis, bin noch neu in dem Thema und werde mir das genauer ansehen. Allerdings beantwortet es nicht die Frage, und schon bei einer ersten Betrachtung eines taglib tutorials scheint mir, dass ich da die gleiche Frage bekommen werde (wenn ich Attribute für Tags dynamisch generieren möchte) -- oder habe ich Deine Anregung falsch verstanden?

Vielleicht kann mir ja doch jemand einen Hinweis geben, wie ich das in XSL mache?

Besten Dank im Voraus und viele Grüsse,

Thomas
 
Du kannst ja eigene Tags erstellen und damit auch HTML erzeugen wie du möchtest. Es liegt also nur an deiner Kreativität aus einem eigenen Set Tags das gewünschte Verschachtelungsmodell und den dazu passenden HTML zu generieren 🙂
 

Neue Themen


Zurück
Oben