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

使用org.apache.jasper.JspC编译jsp文件--转载的更多相关文章

  1. 手动编译Jsp文件

    手动模拟Tomcat编译jsp文件 Tomcat编译jsp文件的配置路径是在%tomcat_home%/conf/web.xml中,有这样一段代码 <servlet> <servle ...

  2. Tomcat不能自动编译JSP文件问题的一种解决方法

    今天碰到一个非常奇怪的问题,机器环境是JDK8.Tomcat8,把jQuery MiniUI ( for Java Eclipse)下载后导入到Eclipse中,首页可以显示,但运行操作数据库的页面出 ...

  3. 报错:org.apache.jasper.JasperException: /index.jsp (line: 1, column: 17) equal symbol expected

    现象:写了如下一个jsp文件,导入需要用到的两个包: 运行结果报错:org.apache.jasper.JasperException: /index.jsp (line: 1, column: 17 ...

  4. org.apache.jasper.JasperException: Expecting "jsp:param" standard action with "name" and "value" attributes

      jasper  英 ['dʒæspə]  美 ['dʒæspɚ] 跟读 口语练习 n. 碧玉:墨绿色 n. (Jasper)人名:(德)雅斯佩尔:(西)哈斯佩尔 JasperException 异 ...

  5. org.apache.jasper.JasperException: xxxx.jsp(118,24) Attribute style invalid for tag formatNumber according to TLD

    错误:org.apache.jasper.JasperException: /projm/projBudgetChangeOverview.jsp(118,24) Attribute style in ...

  6. org.apache.jasper.JasperException: /WEB-INF/jsp/add.jsp(40,24) quote symbol expected

    add.jsp 的40行24列少了一个 引号

  7. 配置tomcat及如何自动编译jsp文件

    1.myeclipse如何关联tomcat? 四个注意点...  必须一致! 2.别人修改过jsp不用重启服务器,我的却要每次重启服务器,网上找了很多方法都没有用,很是郁闷...最后发现了原来是bui ...

  8. org.apache.jasper.JasperException: /WEB-INFO/jsp/product/edit.jsp(168,45)

    PWC6038:"${empty data.code?'001':fn:substring(data.code,0,8)}" contains invalid expression ...

  9. Tomcat 6 --- 使用Jasper引擎解析JSP

    熟悉JAVA web开发的朋友都知道JSP会被转换成java文件(预编译),然后编译成class使用,即按照JSP-->java-->class的过程进行编译. 由于JVM只认识class ...

随机推荐

  1. Django 1

    Django 1.10文档中文版Part1 本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正.另外对于公开文档进行翻译的版权问题不 ...

  2. JAVA NIO 结合多线程

    NIO 的选择器采用了多路复用(Multiplexing)技术,可在一个选择器上处理多个套接字, 通过获取读写通道来进行 IO 操作.由于网络带宽等原因,在通道的读.写操作中是容易出现等待的, 所以在 ...

  3. python将图片转为base64编码

    import base64 f = open("m1.jpg", "rb") res = f.read() s = base64.b64encode(res) ...

  4. 拦截QT关闭窗口的CloseEvent

    QDialog类下有一个虚函数 void QDialog::closeEvent (  QCloseEvent   *  e   )  [virtual protected] 通过实现closeEve ...

  5. Gradle在大型Java项目上的应用

    在Java构建工具的世界里,先有了Ant,然后有了Maven.Maven的CoC[1].依赖管理以及项目构建规则重用性等特点,让Maven几乎成为Java构建工具的事实标准.然而,冗余的依赖管理配置. ...

  6. RSA算法原理(一)

    如果你问我,哪一种算法最重要? 我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先 ...

  7. jdk1.5 jdk1.6 jdk1.7 jdk1.8 下载地址

    是不是有很多朋友在oracle找不到历史版本的下载地址哈.... 下载我亲情奉献,有人的捧个人场..... 嘻嘻 jdk1.5updatex所有版本下载地址: http://www.oracle.co ...

  8. 纯css切换左侧菜单

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. Nginx缓存配置及nginx ngx_cache_purge模块的使用

    ngx_cache_purge模块的作用:用于清除指定url的缓存 下载地址:http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz   1. ...

  10. HDU 5929 Basic Data Structure 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)

    Basic Data Structure Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...