2 Stimmen

Eine in einem String enthaltene JSP programmatisch in ein Servlet umwandeln

Ich habe ein JSP in einer String-Variablen in einem Servlet und würde es gerne selbst als JSP kompilieren (on the fly, programmatisch). Im Moment speichere ich die Zeichenkette in einer Datei und greife auf diese Datei zu (die das resultierende Servlet generiert) - etwa so:

// and He created JSP from mere html code
final String jsp = convertToJSP(someHTML);
// create a jsp file with the above
final File jspFile = new File(getServletContext().getRealPath("/"), jspFilename);
// write it to a file FIXME: This must be expensive, the user is waiting
// I DONT WANT TO WRITE THIS TO FILE: GENERATE SERVLET IMMEDIATELY FROM CODE
FileUtils.writeStringToFile(jspFile, jsp, "UTF-8");
// access that jsp
resp.sendRedirect(jspFilename);

Dies ist natürlich teuer und erfordert eine IO-Operation. Irgendwelche Ideen/Vorschläge, wie dies zu tun?

Mir ist klar, dass ich irgendwann Tomcat Jasper (jspc) verwenden/anbinden muss, und ich habe kein Problem damit (Tomcat ist mein Servlet-Container).

Vielen Dank, JP

2voto

Bozho Punkte 570413

Sie können einen Blick auf die Jasper2 JSP-Engine - So übersetzt Tomcat JSPs in Servlets.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X