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

Java Web开发
JSP的技术方法
错误处理页面的制作404,和500
JSP动态生成并调用JSP程序
jsp防注入的代码,如何防止SQL注入的方法和预编译的PreparedStatement的代码例子
一段生成验证码图片的程序
include与jsp:include区别
jsp基础速成精华讲解
Ajax servlet实现
如何从JSP页面传送动态图片
Java中用Servlet Listener实现定时监听
JSP、Servlet中的相对路径和绝对路径
如何成为一个优秀的jsp程序员
Java开源软件六大帮派
JSP高访问量下的计数程序 (转载)
Servlet中的这些问题,你注意到了吗?
JSP解决中文乱码问题
Servlet常见错误校验表
Session和Cookie的深入研究
无限菜单之 xml+popup 版(IE5.5+)
关于hibernate多对多----many to many

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


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