2009-07-09 20 views
2

Ich möchte JSP in Java, aus Tomcat oder einem anderen Servlet-Container kompilieren und interpretieren. Ich denke, dass ich die Jasper-Bibliotheken verwenden kann, die mit Tomcat kommen, aber ich kann kein Beispiel dafür finden, wie man es im Web macht.Kompilieren und interpretieren JSP nur mit Java

Das Minimum, das ich brauche, ist eine Funktion, die einen String (HTML resulting text) von einer kompilierten JSP und einem HttpServletRequest oder etwas ähnliches zurückgibt.

Danke.

Antwort

0

Werfen Sie einen Blick auf den Quellcode der Ant-Task, die mit Tomcat zum Vorkompilieren von Jsps geliefert wird. Dies sollte dir helfen.

http://tomcat.apache.org/tomcat-5.5-doc/jasper-howto.html

Ich würde auch stark in Frage stellen, warum Sie dies tun wollen ...

+0

Vielen Dank für Ihre Antwort. Ich suchte ein wenig und dieser Code verwendet Jaspers JspC-Klasse zum Kompilieren. Vielleicht wird es nützlich sein. Die eigentliche Herausforderung besteht jedoch darin, die JSP zu interpretieren. Ich muss einen HTML-Text aus verschiedenen interpretierten JSPs zurückgeben. Diese JSPs werden in der Ausführungszeit entschieden, so dass ich oder Tiles nicht verwenden kann, denke ich. Vielleicht gibt es einen einfacheren Weg, das zu erreichen. Ich würde jede Hilfe bei der Vereinfachung meiner Sichtweise zu schätzen wissen. – sinuhepop

+0

Sie sollten diese Information zu der obigen Frage hinzufügen. Aber es ist immer noch ein bisschen unklar: Haben Sie tatsächlich Code in einem Servlet-Container ausgeführt? Wie sind diese JSPs "entschieden"? Beschreiben Sie Ihr tatsächliches Szenario und Ihre Anforderungen, hören Sie auf, es zu abstrahieren. –

1

interpretieren JSP in Java, aus Tomcat oder anderen Servlet-Container.

Das ist einfach nicht möglich. Was auch immer Sie tun werden, wird eine einigermaßen vollständige Implementierung eines Servlet-Containers sein, wenn es mit nicht-trivialen JSPs (was ist mit Sitzungen? Anwendungsattribute? Taglibs?) Sowieso, also warum nicht verwenden Sie eine und sparen Sie sich die Arbeit es umzusetzen?

Was möchten Sie eigentlich erreichen?

+0

Sie haben Recht. Ich antwortete Pablojim und entblößte, was ich erreichen möchte. – sinuhepop

0

Onkel Bob hat some blog posts auf, wie man Jaspis außerhalb von Tomcat verwendet.

Sein Fazit:

Die hier beschriebene Technik verwendet werden, kann praktisch jede statische Web-Seite oder einen Teil davon außerhalb eines Behälters zu testen, und ohne einen Webserver läuft. Es ist relativ einfach einzurichten; und dann sehr einfach zu erweitern. Damit können Sie sehr schnell die Edit/Compile/Test-Schleife durchlaufen und die Regeln der Test Driven Development einfach befolgen.

+0

Interessanter Link. Vielen Dank! – sinuhepop

+0

@Stephen der Link scheint gebrochen zu sein, können Sie einen aktualisierten Link auf diese Website posten. – Kainix

2

Wenn Sie gerade für einen Textprozessor (nicht notwendigerweise JSPs) suchen, können Sie auch einen Blick auf Apache Velocity

+0

Velocity ist eine schreckliche Templating-Engine - z. B. Ausnahmen beim Ausführen von Inline-Anweisungen. Es macht nichts besseres als JSP. –

+1

... außer der Möglichkeit, aus Java einfach gerendert zu werden, worum es sich bei dieser Frage handelt. – itsadok