2010-12-18 10 views
0

In der JSPX Seite I benutzerdefinierten Tags verwenden, und das funktioniert gutJsp machen Variable mit jsp Tags innerhalb

<body> 
    <ui:image name="nameOfImage"/> 
</body> 

Jedoch Wenn ich die <ui:image name="nameOfImage"/> in variable body
setzen Dies funktioniert nicht

<body> 
    ${body} 
</body> 

Die Frage ist, wie JSP-Render-Engine aufgefordert wird, JSP-Tags in Variable zu rendern?

Antwort

1

Soweit ich weiß, gibt es keine Möglichkeit, das direkt zu tun. Das nächste, was Sie fragen, ist ein benutzerdefiniertes Tag, das ich einmal aus der Eval taglib angetroffen habe. Es sollte etwas ähnlich zu JavaScript eval() sein (oder so sagen sie).

Vielleicht könnten Sie in es schauen und sehen, wie es seine Sache macht und einige Ideen borgen.

EDIT: Es ist gestern nicht vorgekommen, aber Sie könnten JSTL verwenden, um etwas ähnliches zu tun, obwohl dies nur innerhalb der JSP (X) funktioniert, wenn Sie den Inhalt der Variablen irgendwo höher setzen möchten (Wie ein Controller) wird es nicht funktionieren, da es nicht ausgewertet, sondern nur als String ausgegeben wird.

Die <c:set> können Sie einige Inhalte und das Ergebnis in einer Variablen bewerten, die Sie dann wiederverwenden können:

<c:set var="body"> 
    <ui:image name="nameOfImage"/> 
</c:set> 
.... 
<body> 
    ${body} 
</body> 
+0

danke für den Link –

+0

@Mykola Golubyev: Sie sind willkommen! Ich habe meine Antwort bearbeitet, um eine weitere Option hinzuzufügen, weiß aber nicht, ob Sie danach suchen. Was versuchst du überhaupt zu tun? –