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

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方法设置参数

Java代码   收藏代码
  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

你可能感兴趣的:(apache)