在JSP中動(dòng)態(tài)生成并調(diào)用JSP程序
下面這個(gè)JSP程序,動(dòng)態(tài)生成可一個(gè)testDynamicInclude.inc.jsp,然后在后面調(diào)用它。
在JSP的動(dòng)態(tài)生成中,注意里面的路徑。 "."代表你項(xiàng)目的根目錄。
如果你的JSP在test子目錄下面,別忘了在path里加上這個(gè)路徑。
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%@page import="java.io.*"%>
- <%
- // 動(dòng)態(tài)生成jsp文件,然后動(dòng)態(tài)調(diào)用
- 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 %>" />
- <%
- // 運(yùn)行完畢了,可以刪除這個(gè)文件
- 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.*"%>
- <%
- // 動(dòng)態(tài)生成jsp文件,然后動(dòng)態(tài)調(diào)用
- 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 %>" />
- <%
- // 運(yùn)行完畢了,可以刪除這個(gè)文件
- File f = new File(path+"/"+filename);
- if (f.exists()) {
- f.delete();
- }
- %>
警告:正式的應(yīng)用,一定要根據(jù)線程編號(hào)生成文件,避免多個(gè)線程競爭,比如使用一個(gè)遞增的序列,或者使用某個(gè)不重復(fù)的序號(hào)發(fā)生器
String filename = "testDynamicInclude.inc"+seqNo+".jsp";
JSP動(dòng)態(tài)生成的文件內(nèi)容如下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%=new java.util.Date()%>
【編輯推薦】