使用org.apache.jasper.JspC编译jsp文件--转载

时间:2021-09-20 14:47:26

JspC可以通过jspc.setArgs(args);设置所需参数,和使用指令进行编译相同,

使用指令编译范例:

java -cp jasper.jar;servlet-api.jar;Fcatalina.jar;F:\server\tomcat.6\bin\tomcat-juli.jar;ant.jar;jsp-api.jar;jasper-el.jar;el-api.jar;jstl.jar;standard.jar;jasper-el.jar;jasper-jdt.jar org.apache.jasper.JspC -uriroot ./temp -d temp temp.jsp

也可以通过调用set方法设置参数

  1. public class Test1 {
  2. public String  jspcTest() {
  3. String error="";
  4. try {
  5. JspC jspc = new JspC();
  6. /*String[] arg0 = {"-uriroot", "E:/jspc", "-d", "d:/t",
  7. "temp/temp.jsp" };
  8. jspc.setArgs(arg0);*/
  9. jspc.setUriroot("d:/jspc");//web应用的root目录
  10. jspc.setOutputDir("d:/t");//.java文件和.class文件的输出目录
  11. jspc.setJspFiles("temp/temp.jsp");//要编译的jsp
  12. jspc.setCompile(true);//是否编译 false或不指定的话只生成.java文件
  13. jspc.execute();
  14. } catch (Exception e) {
  15. error=e.toString();
  16. }
  17. return error;
  18. }
  19. public static void main(String args[]){
  20. Test1 t=new Test1();
  21. System.out.println(t.jspcTest());
  22. }
  23. }

这里jar包都从tomcat下引用

测试类编译必要jar包:

D:/Tomcat5.5/common/lib/jasper-compiler.jar

D:/Tomcat5.5/common/lib/jasper-runtime.jar

jsp编译必要jar包,除此之外还需要jsp中引用类的jar:

D:/Tomcat5.5/common/lib/commons-el.jar
D:/Tomcat5.5/common/lib/jasper-compiler.jar
D:/Tomcat5.5/bin/commons-logging-api-1.1.1.jar
D:/Tomcat5.5/common/lib/jsp-api.jar
D:/Tomcat5.5/common/lib/jasper-compiler-jdt.jar
D:/Tomcat5.5/common/lib/servlet-api.jar
D:/Tomcat5.5/common/lib/jasper-runtime.jar
D:/Tomcat5.5/server/lib/catalina-ant.jar

如果在tomcat web环境下运行工程环境加入ant的jar就可以

原文:http://kjah.iteye.com/blog/625588