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方法设置参数
- public class Test1 {
- public String jspcTest() {
- String error="";
- try {
- JspC jspc = new JspC();
- /*String[] arg0 = {"-uriroot", "E:/jspc", "-d", "d:/t",
- "temp/temp.jsp" };
- jspc.setArgs(arg0);*/
- jspc.setUriroot("d:/jspc");//web应用的root目录
- jspc.setOutputDir("d:/t");//.java文件和.class文件的输出目录
- jspc.setJspFiles("temp/temp.jsp");//要编译的jsp
- jspc.setCompile(true);//是否编译 false或不指定的话只生成.java文件
- jspc.execute();
- } catch (Exception e) {
- error=e.toString();
- }
- return error;
- }
- public static void main(String args[]){
- Test1 t=new Test1();
- System.out.println(t.jspcTest());
- }
- }
这里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