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

Java Web开发
Java Web开发:UML的概念和模型
Java Web开发:Spring中的Web Context
Java Web开发:小编谈J2EE何存优势?
Java Web开发:Javaweb基础之Connection 接口浅析
Java Web开发:小编对新手学习jsp的六条建议建议
Java Web开发:小编谈如何成为一个优秀的jsp程序员
Java Web开发:小编谈J2EE 技术中的那些事
Java Web开发:小编浅谈J2EE技术
Java Web开发:小编浅谈JavaScript小技巧
Java Web开发:小编浅谈JavaScript小技巧(2)
Java Web开发:小编浅谈JavaScript小技巧(3)
Java Web开发:小编浅谈JavaScript小技巧(4)
Java Web开发:小编浅谈JavaScript小技巧(5)
Java Web开发:小编浅谈JavaScript小技巧(6)
Java Web开发:小编浅谈JavaScript小技巧(7)
Java Web开发:小编浅谈JavaScript小技巧(8)
Java Web开发:小编浅谈JavaScript小技巧(9)
Java Web开发:小编浅谈JavaScript小技巧(10)
Java Web开发:小编浅谈JavaScript小技巧(11)
Java Web开发:小编浅谈JavaScript小技巧(12)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 236 ::
收藏到网摘: 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()%>