在JSP中動態生成并調用JSP程序
下面這個JSP程序,動態生成可一個testDynamicInclude.inc.jsp,然后在后面調用它。
在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";
JSP動態生成的文件內容如下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%=new java.util.Date()%>
【編輯推薦】