jsp自動跳轉的幾種方法
需求及前提:
1. 當前頁面是專案的第一個頁面(welcome.jsp)
2. 訪問專案,先進入welcome.jsp後,該頁面自動通過springMVC請求跳轉到index頁面
3. 直接訪問localhost:8080/common/index 是可以直接訪問index頁面的
一:用js跳轉
1. onload + location.href或者location.replace
關鍵程式碼:
。。。
<%
String path=request.getContextPath();
String basepath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
。。。
function commit() {
location.href="<%=basepath%>common/index";
}
。。。
<body onload="commit()">
小結:
1.網上說在head中加入<base href="<%=basepath%>">,就可以該路徑為相對路徑訪問,但我試了不好使,所以我寫成"<%=basepath%>common/index"這樣的絕對路徑(有保障)
2.basepath在jsp中很有用
3.呼叫js函式 別忘了加括號,onload="commit"就不行,關鍵是沒有報錯資訊
2.onload + form.submit()
關鍵程式碼:
。。。
function commit() {
var form = document.getElementById("indexform");
form.action = "<%=basepath%>common/index";
form.submit();
}
。。。
<body onload = "commit()">
<form id="indexform"></form>
。。。
小結:
我看網上有人這麼寫提交form表單:
with(document.getElementById("queryFunction")) {
action="new.jsp";
method="post";
submit();
}
with的作用是設定程式碼在特定物件中的作用域。
雖然這麼寫好看了許多,但是with是執行緩慢的程式碼塊,儘量避免使用。
3. a標籤 + js事件觸發
關鍵程式碼:
<a href="<%=basepath%>common/index"></a>
<script language="javascript">
var comment = document.getElementsByTagName('a')[0];
if (document.all) {
// For IE
comment.click();
}else if (document.createEvent) {
//FOR DOM2
var ev = document.createEvent('MouseEvents');
ev.initEvent('click', false, true);
comment.dispatchEvent(ev);
}
</script>
小結:
這段程式碼判斷瀏覽器的方式可以記一下
也算是一種思路,試了,同樣好用
二:jsp方式
1. jsp:forward
關鍵程式碼:
<jsp:forward page="/common/index"></jsp:forward>
小結:
網上說:它的底層部分是由RequestDispatcher來實現的,因此它帶有RequestDispatcher.forward()方法的印記(我沒深究,先記著吧)
2. response.sendRedirect
關鍵程式碼:
response.sendRedirect(basepath + "common/index");
小結:
response.sendRedirect是一種“客戶端跳轉”方式,總是和它對應的是
RequestDispatcher.forward(伺服器跳轉,或者稱為“轉發”。這個寫在jsp裡,執行的時候是會報錯的)
相關文章
- java servlet 與jsp幾種頁面跳轉的方法JavaServletJS
- PHP頁面跳轉幾種實現方法PHP
- vue 跳轉的兩種方法Vue
- [Windows][VC]開機自動啟動程式的幾種方法Windows
- ubuntu下圖形程式自啟動的幾種方法Ubuntu
- 影片直播原始碼,uniapp頁面跳轉的幾種方法和區別原始碼APP
- SecureCRT - 自動登入跳轉Securecrt
- DNS二級域名自動跳轉 代替新網的跳轉功能DNS
- Linux下兩種自動啟動Tomcat的方法(轉)LinuxTomcat
- ASP.NET頁面跳轉的三種方法ASP.NET
- 線路分流自動跳轉程式碼
- Linux埠轉發的幾種常用方法Linux
- java程式轉為exe幾種方法Java
- 幾種常見的JSP中文亂碼JS
- Java 自動釋放鎖的幾種實現Java
- Swift 幾種動態判斷類的方法Swift
- jQuery動態生成html元素的幾種方法jQueryHTML
- ubuntu20.04禁止自動休眠的幾種方式Ubuntu
- 加快Spring Boot啟動的幾種方法 | baeldungSpring Boot
- li浮動時ul高度為0,解決ul自適應高度的幾種方法
- 自動設定CLASSPATH的方法 (轉)
- xml操作的幾種方法XML
- 跨域的幾種方法跨域
- win10系統啟動時跳過自動修復的方法Win10
- 如何設定HTTP自動跳轉到HTTPSHTTP
- JavaScript 字串與json物件互轉的幾種方法JavaScript字串JSON物件
- python的__init__幾種方法總結【轉載】Python
- 一種新的程式設計思路(下):附 自動分頁2-1 ntPage.jsp (轉)程式設計JS
- css 盒模型 文件流 幾種清除浮動的方法CSS模型
- Android播放Gif動態圖片的幾種方法Android
- Flex與後臺互動的幾種方法詳解Flex
- JSP資料和JavaScirpt資料互動使用問題的一種解決方法 (轉)JSJava
- 幾個shell自動化指令碼(轉)指令碼
- 讓oracle自動啟動方法!(轉)Oracle
- Ability跳轉指定Slice的方法
- Struts2 中jsp直接跳轉到actionJS
- Oracle自動啟動和關閉的方法 (轉)Oracle
- 四種適配方法①移動適配②JS跳轉③Meta宣告④302規則JS