2010-06-30 40 views
2

我在servlet中的字符串變量中有一個JSP,我想將它編譯爲JSP(以編程方式)。現在我在做什麼是節省了字符串文件和訪問該文件(生成所產生的servlet的) - 是這樣的:以編程方式將包含在字符串中的JSP轉換爲Servlet

// 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); 

這顯然是昂貴的,需要一個IO操作。任何想法/建議如何做到這一點?

我知道我必須在某些時候使用/綁定到tomcat jasper(jspc),並且我很好(Tomcat是我的servlet容器)。

非常感謝, JP

回答

2

你可以看看Jasper2 JSP Engine - 這是Tomcat的如何轉換JSP來的servlet。

+0

是的,我想了很多 - 但我找不到任何Java代碼。它的所有調用JspC,Compiler,ADTCompiler類的Ant任務 - 這本身就是一個噩夢。 我想知道是否有人曾經做過這種事情,如果因此可以提供一些代碼,更具體的指針。 – MalteseUnderdog 2010-06-30 10:20:11

+0

通過API查看Jasper編譯器 - 它可能很容易上手。 – Bozho 2010-06-30 11:04:18

相關問題