在JSP中动态生成并调用JSP程序

开发 后端
本文向您介绍JSP动态生成JSP文件并调用该程序的方法,要注意在正式的项目中一定要根据线程进行编号,使JSP动态生成时避免多个线程竞争。

下面这个JSP程序,动态生成可一个testDynamicInclude.inc.jsp,然后在后面调用它。

在JSP的动态生成中,注意里面的路径。 "."代表你项目的根目录。

如果你的JSP在test子目录下面,别忘了在path里加上这个路径。

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>     
  2. <%@page import="java.io.*"%>     
  3. <%     
  4.   // 动态生成jsp文件,然后动态调用     
  5.   String filename = "testDynamicInclude.inc.jsp";     
  6.   String path = application.getRealPath(".");     
  7.   FileWriter fw = new FileWriter(path + "/" + filename);     
  8.   fw.write("<" + "%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%" + ">");     
  9.   fw.write("<" + "%=new java.util.Date()%" + ">");     
  10.   fw.close();     
  11. %>     
  12. <jsp:include page="<%=filename %>" />     
  13. <%     
  14.   // 运行完毕了,可以删除这个文件     
  15.   File f = new File(path+"/"+filename);     
  16.   if (f.exists()) {     
  17.     f.delete();     
  18.   }     
  19. %>    
  20. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
  21. <%@page import="java.io.*"%> 
  22. <%  
  23.   // 动态生成jsp文件,然后动态调用  
  24.   String filename = "testDynamicInclude.inc.jsp";  
  25.   String path = application.getRealPath(".");  
  26.   FileWriter fw = new FileWriter(path + "/" + filename);  
  27.   fw.write("<" + "%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%" + ">");  
  28.   fw.write("<" + "%=new java.util.Date()%" + ">");  
  29.   fw.close();  
  30. %> 
  31. <jsp:include page="<%=filename %>" /> 
  32. <%  
  33.   // 运行完毕了,可以删除这个文件  
  34.   File f = new File(path+"/"+filename);  
  35.   if (f.exists()) {  
  36.     f.delete();  
  37.   }  
  38. %> 
  39.  

警告:正式的应用,一定要根据线程编号生成文件,避免多个线程竞争,比如使用一个递增的序列,或者使用某个不重复的序号发生器
String filename = "testDynamicInclude.inc"+seqNo+".jsp";

JSP动态生成的文件内容如下

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%=new java.util.Date()%> 

【编辑推荐】

  1. JSTL介绍—JSP编程新组件 允许用标签编程
  2. JSP开发所需要的Eclipse插件及安装配置方法
  3. 使用JSP实现简易的SQL报表
  4. 用JSP实现数据库图片的存储与显示
  5. JDBC与JSP简单模拟MVC三层架构
责任编辑:佚名 来源: 新浪博客
相关推荐

2009-06-16 15:20:48

ApplicationJSP程序

2009-07-03 17:33:06

JSP中调用JavaB

2009-07-07 11:18:59

JSP Servlet

2009-07-02 14:24:02

JSP读取数据库

2009-07-02 09:25:41

JSP实现页面跳转

2010-12-07 09:50:46

JSP

2009-07-03 10:52:33

MIDletJSP页面

2009-06-29 17:09:49

JavaBeanJSP

2009-07-03 16:55:33

JSP变量JSP规范

2009-07-08 15:13:00

获取所session数JSPServlet

2009-07-06 15:57:56

获取数据库连接JSP

2009-06-30 10:59:38

fckeditorJSP

2009-03-05 10:10:52

饼图数据库JSP

2009-06-25 16:36:31

JBPM流程图

2009-07-01 16:14:48

JSP网页制作

2009-06-16 09:06:37

JavaMailJSP

2009-07-06 16:17:36

生成PDF报表JSP页面

2009-06-23 09:33:20

FCKEditorJSFJSP

2011-05-18 11:23:47

JSP动态网站

2009-06-29 17:57:30

ApplicationJSP
点赞
收藏

51CTO技术栈公众号