当前位置: 首页 > 图文教程 > Java技术 > Java Web开发 > JSP动态生成并调用JSP程序

Java Web开发
Java Web开发:小编浅谈JavaScript小技巧(13)
小编浅谈JavaScript小技巧(14)
FreeMarker指令那些事
浅谈Struts实现文件的下载
Jsp基础那些事
浅谈Hibernate中实现ORM
整理Jsp生成html文件
浅谈Java Reflection(Java反射)(1)
浅谈Java Reflection(Java反射)(2)
浅谈网络协议中Socket类
用POI来读取/写入完整的Excel文件(一)
用POI来读取/写入完整的Excel文件(二)
浅谈JDBC事务和JTA (XA)事务
浅谈Java网络编程之Socket (1)
浅谈Java网络编程之Socket (2)

Java Web开发 中的 JSP动态生成并调用JSP程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 238 ::
收藏到网摘: n/a

下面这个程序,动态生成可一个
testDynamicInclude.inc.jsp
然后在后面调用它
注意里面的路径。 "."代表你项目的根目录。
如果你的jsp在test子目录下面,别忘了在path里加上这个路径。

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>   
<%@page import="java.io.*"%>   
<%   
  // 动态生成jsp文件,然后动态调用   
  String filename = "testDynamicInclude.inc.jsp";   
  String path = application.getRealPath(".");   
  FileWriter fw = new FileWriter(path + "/" + filename);   
  fw.write("<" + "%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%" + ">");   
  fw.write("<" + "%=new java.util.Date()%" + ">");   
  fw.close();   
%>   
<jsp:include page="<%=filename %>" />   
<%   
  // 运行完毕了,可以删除这个文件   
  File f = new File(path+"/"+filename);   
  if (f.exists()) {   
    f.delete();   
  }   
%>  
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.io.*"%>
<%
  // 动态生成jsp文件,然后动态调用
  String filename = "testDynamicInclude.inc.jsp";
  String path = application.getRealPath(".");
  FileWriter fw = new FileWriter(path + "/" + filename);
  fw.write("<" + "%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%" + ">");
  fw.write("<" + "%=new java.util.Date()%" + ">");
  fw.close();
%>
<jsp:include page="<%=filename %>" />
<%
  // 运行完毕了,可以删除这个文件
  File f = new File(path+"/"+filename);
  if (f.exists()) {
    f.delete();
  }
%>

 

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


生成的文件内容如下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%=new java.util.Date()%>