2010-06-30 17 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

相关问题