? ? ? ?轉(zhuǎn)發(fā)時JSP容器將使用內(nèi)部方法來調(diào)用目標(biāo)頁面,新頁面將繼續(xù)處理同一請求而不被瀏覽器所知道,但是重定向是第一個頁面通知瀏覽器發(fā)送新的頁面請求,那么你知道Jsp中的網(wǎng)頁重定向的方法嗎?
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" /> |
請注意:只能在任何輸出還沒有發(fā)送到客戶端之前使用這種方式。
5.6 類似global.asa的做法
在JSP中沒有g(shù)lobal.asa的對應(yīng)物。但可以有一個workaround來運(yùn)行。例如,如果你需要存儲或存取application scope變量,你總是可以創(chuàng)建一個Javabean,并在頁面中需要這些變量的地方將它包含進(jìn)來。
?
| <jsp:useBean id="globals" scope="application" class="com.xxx.GlobalBean"/> |
但是,也有一些產(chǎn)品具有這樣的對應(yīng):
Allaire公司的產(chǎn)品JRun 3.0將提供global.jsa。JRun 2.3.3仍然給予支持,但只對JSP 0.92。當(dāng)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顯示當(dāng)前時間
| <%@ 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中創(chuàng)建目錄 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>對不起,不能創(chuàng)建空目錄!"; 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>創(chuàng)建失敗,原因不明!"; return msg; } // 如果成功創(chuàng)建目錄,則無輸出。 // msg ="成功創(chuàng)建目錄: <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 轉(zhuǎn)為<br>函數(shù)
| 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; } |
? ? ? ?以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持錯新技術(shù)頻道。
?
?
新聞熱點(diǎn)
疑難解答
圖片精選