# Zeichenkette als JSP-Fragment auswerten lassen



## Ralf Ueberfuhr (16. Mai 2007)

Hallo,

auch wenn mein Problem vielleicht klingt wie ein Design-Fehler - ist es nicht. Ich lade Daten aus einer Datenbank, die speziell geparst werden, sodass ich letztendlich eine String-Variable in einer JSP habe, die Custom Tags enthält. Diese sollen nun ausgewertet werden.

Ich komme durch einfache Auswertung aber nur soweit, dass die Custom Tags in der Ausgabe (HTML) stehen. Wie kann ich nun ein Stück String als JSP-Fragment auswerten lassen, entweder im Tag File oder in einer Tag-Aktionsklasse?

Ich benötige kurz gesagt die Möglichkeit, die JSP-Engine zu bitten, mir ein Stück Code zu übersetzen.


----------



## HLX (16. Mai 2007)

In Servlets wird diese Interpretation durch einen ServletOutputstream erreicht.


```
ServletOutputStream out = response.getOutputStream();
    out.print("<h1 align='center'>Mein Text</h1>");
```

Hier liegt auch ein String u.a. mit Tags vor. Versuch das mal in deine JSP einzubauen.


----------



## SlaterB (16. Mai 2007)

das geht nur für HTML, da jedes Servlet/ JSP eh eine HTML-Textdatei erzeugt,
das ist keine Interpretation, das kann man auch direkt in der JSP machen..

alles andere wird höchstwahrscheinlich nicht unterstützt,
normale JSP-Dateien werden in Servlet-Java-Dateien umgewandelt und (in einem Stück) kompiliert,


----------



## Ralf Ueberfuhr (16. Mai 2007)

HTML wird vom Client interpretiert, meine Custom Tags sollen jedoch vom Server ausgeführt werden und somit HTML erzeugen.


----------



## ptriller (19. Mai 2007)

Naja, dazu ist JSP nicht besonders geeignet, da die JSP Seiten vor der Darstellung compiliert werden.  
Das geht so: verwandle JSP text -> Javacode -> compiliere Javacode -> execute .class File
Um JSP Tags dynamisch zu behandeln ist die JSP Engine gänzlich ungeeignet.  Selbst wenn du das zum laufen bringst wird es horror langsam werden da es diesen ganzen zyklus jedesmal neu durchlaufen muss. Du solltest dir etwas anderes ausdenken so killst du nur deinen server


----------

