Ich möchte aus einem Servlet ein Template (HTML oder JSP, es sollen nur ein paar Variablen eingesetzt werden, die das Servlet vorher berechnet) ansprechen, allerdings möchte ich das nicht includen (was mit JSP geht), sondern den geparsten Inhalt in einem String bekommen (um eine Mail draus zu machen). Geht das irgendwie ? Ich finde nur „include“ und „forward“, das ist beides nicht das, was ich will…
Ich bin mir jetzt nicht sicher, ob Du das meinst, aber ich würde mir das Template erst mal in den Speicher holen, es dann parsen, um entsprechende Stellen zu errsetzen und dann den speicherinhalt in einen String geben (Naja, eigentlich Läge er dann ja schon als solcher vor:smile:
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
So habe ich es bis jetzt auch gemacht, nur wollte ich das eigentlich nicht selbst parsen (der selbst geschriebene „Parser“ kann nicht allzu viel, bei JSP ist da „von Haus aus“ mehr möglich, und ich wollte vermeiden, solche Sachen wie bedingte Ausdrücke u.ä. selbst behandeln zu müssen), sondern für die Templates JSP verwenden, und den JSP Parser bekomme ich nur so aufgerufen, das er das Ergebnis direkt in die Ausgabe schreibt, anstattt es zurückzugeben…
Alexander
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Schau dir mal suns jstl (Java Standard Tag Library) Technik an - Wir haben daraus Firmenintern eine ziemlich geile Templatingengine bauen können. Du kannst damit ohne großen Aufwand eigene JSP-Tags definieren und durch eine eigene Klasse ziemlich flexibel bearbeiten lassen.
Der Lernaufwand ist nicht alzu groß, wenn du dir das entsprechende Kapitel im pdf von Marty Hall’s „Servlets und Java Server Pages“ anschaust - Das komplette Buch ist online und frei runterladbar.