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

Java Web开发
浅谈http的无状态性
JFreeChart常用函数
为什么主流Java MVC框架如此难以使用
软件工程
JavaScript 中IE与FireFox不同之处
关于javascript 的贪婪与非贪婪模式
abstract class和interface的区别
java 写的一个蜘蛛程序
javascript 基本用法简介
java web开发中构建SOAP服务
用java匿名类来简化调试
Java Web开发构想
Java Web 开发的配置详解
WEB开发中的JAVA字符编码经验总结
孙鑫老师原创:Struts 2初体验
Hibernate常见的20个问题
关于Xdoclet生成hibernate映射文件
JAVA四种基本排序
提高Java代码可重用性的三个措施
孙鑫老师原创:XML Schema初窥(一)

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


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