1.可以使用:
response.sendRedirect("http://www.foo.com/path/error.html"); |
2.可以手工修改HTTP header的Location屬性,如下:
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn = "/newpath/index.html"; response.setHeader("Location",newLocn); %> |
3.也可以使用forward:
<jsp:forward page="/newpage.jsp" /> |
請注意:只能在任何輸出還沒有發送到用戶端之前使用這種方式。
5.6 類似global.asa的做法
在JSP中沒有global.asa的對應物。但可以有一個workaround來運行。例如,如果你需要儲存或存取application scope變數,你總是可以建立一個Javabean,並在頁面中需要這些變數的地方將它包含進來。
<jsp:useBean id="globals" scope="application" class="com.xxx.GlobalBean"/> |
但是,也有一些產品具有這樣的對應:
Allaire公司的產品JRun 3.0將提供global.jsa。JRun 2.3.3仍然給予支援,但只對JSP 0.92。當JRun 3.0最終推出時它將支援用於JSP 1.0和1.1的global.jsa。
你可以從http://beta.allaire.com/jrun30得到JRun 3.0 beta 5
另外,Oracle的JSP支援globals.jsa。
5.7 jsp顯示目前時間
<%@ page import="Java.util.*, Java.text.*" %> <HTML> <HEAD> <TITLE>JSP to display the current time</TITLE> </HEAD> <BODY> The current time is: <% Date now = new Date(); out.println(DateFormat.getTimeInstance().format(now)); %> </BODY> </HTML> |
5.8在JSP中建立目錄 Mkdir(String path)
<%@ page import="Java.io.*" %> <%! String Mkdir(String path) { String msg=null; Java.io.File dir;
// 建立檔案對象 dir =new Java.io.File(path); if (dir == null) { msg = "錯誤原因:<BR>對不起,不能建立空目錄!"; return msg; } if (dir.isFile()) { msg = "錯誤原因:<BR>已有同名檔案<B>" + dir.getAbsolutePath() + "</B>存在。"; return msg; } if (!dir.exists()) { boolean result = dir.mkdirs(); if (result == false) { msg = "錯誤原因:<BR>目錄<b>" + dir.getAbsolutePath() + "</B>建立失敗,原因不明!"; return msg; } // 如果成功建立目錄,則無輸出。 // msg ="成功建立目錄: <B>" + dir.getAbsolutePath() + "</B>"; return msg; } else { msg = "錯誤原因:<BR>目錄<b>" + dir.getAbsolutePath() + "</b>已存在。"; } return msg; } %> <% String filepath = "/usr/home/hoyi/html/dir"; String opmsg = Mkdir(filepath); %> |
5.9將return 轉為<br>函數
public static String returnToBr(String sStr) { if (sStr == null // sStr.equals("")) { return sStr; }
String sTmp = new String(); int i = 0;
while (i <= sStr.length()-1) { if (sStr.charAt(i) == '\n') { sTmp = sTmp.concat("<br>"); } else { sTmp = sTmp.concat(sStr.substring(i,i+1)); } i++; } return sTmp; }
|