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;
}