|
|
Közzétéve 2015. 01. 03. 21:28:01
|
|
|

(1). előre() módszer Használd a javax.servlet.RequestDispatcher osztályt RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(requestVar, requestVar); Add át a szervet belépési paramétereket Nevezetesen: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);
Négy módon lehet szerveroldali servleteket elfordítani: 1. getRequestDispatcher() a ServletContext számára 2. getNamedDispatcher() a ServletContext számára 3. getRequestDispatcher() a ServletRequest számára 4. A ServletResponse sendredirect() a kormányzáshoz. Előrehaladó módszer, mert ezek hatékonyabbak. A sendredirect() módszert csak akkor használjuk a servletresponse módszerrel, ha az előrehaladó metó nem elérhető.
(2).response.sendRedirect(url); Valójában egy speciális fejlécet küld a böngészőnek, majd a böngésző a megadott oldalra fordul, így a sendRedirect használatakor a böngésző címsorában látható a címváltozás. Az új oldal nem tudja kezelni a régi oldal oldalkontextusát (kérés, válasz,.... Tárgy. response.sendRedirect után egy return kellene következnie;
(3). Automatikus ugrás HTML nyelvre <html> <head> <meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 a várakozási idő, ha 5-re állítod, akkor az ugrás 5 másodperc után kezdődik </head> …………
(4). JavaScript ugrás A: <script languate="javascript"> window.location.replace("http://www.baidu.com"); </script> B: Közvetlenül is hozzáadhatsz egy értéket a window.location attribútumhoz, window.location="url", ami eltér az A-tól abban a számában, hogy van egy előzménye C: <script languate="javascript"> document.location.href("http://www.google.com"); </script> Document esetén a hely nem objektum, document.location=document.url A D:history objektum forward(), back() és go() módszerei shaping entry paramétert igényelnek <a href="javascript:history.go(-1)" > visszatérjen az előző lépéshez</a> Ekvivalens <a href="javascript:history.back()" > visszatér az előző lépéshez</a> E: document.formName.action="test.jsp"; document.formName.submit(); JS commit módszer Az első típus: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> A második típus: <script language="javascript"> riasztás ("visszatérés"); window.history.back(-1); </script> A harmadik típus: <script language="javascript"> window.navigate("top.jsp"); </script> A negyedik típus: <script language="JavaScript"> self.location='top.htm'; </script> Az ötödik típus: <script language="javascript"> figyelmeztetés ("Illegális hozzáférés!") ); top.location='xx.jsp'; </script>
(5). <jsp:forward page="nextpage.jsp"/> Amint: <jsp:forward page="/servlet/login" /> <jsp:forward page="/servlet/login"> <jsp:param name="username" value="jsmith" /> </jsp:forward> <jsp:forward> címke egy felhasználói kérést tartalmazó kérésobjektumot továbbít egyik JSP fájlról a másikra. <jsp:forward>tag nem lesz lebonyolítva. A <jsp:param> címkével átviheted a paramétereket és értékeket az objektumfájlba, amelynek dinamikus fájlnak kell lennie, amely képes paramétereket kezelni. Ha puffertelen kimenetet használsz, légy óvatos a <jsp:forward> használatkor. Ha a jsp fájlban már van adat, mielőtt a <jsp:forward> használnád, akkor a fájl végrehajtása hibás lesz. JSP oldalugró módszer gyűjtemény 1. response.sendRedirct("Ugrás az oldalra"); Ez a módszer módosítja a HTTP protokoll HEADER részét, hogy átirányító parancsot adjon a böngészőnek, így a böngésző megjeleníti az átirányítási weboldal tartalmát. A kérés nem tudja átadni az értéket a múltra. Végezd el az összes kódot az oldalon, mielőtt az oldalra ugrasz. Ugorj a címsávra a váltáshoz. Átugorhatsz a response.sendRedirct(http://www.sun.com) oldalra egy másik szerveren. 2.response.setHeader(); Ez a módszer, akárcsak a response.sendRedirect, a HTTP protokoll HEADER részének módosításával történik. <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Húr newLocn="/index.html"; response.setHeader("Location",newLocn); % > 3.<jsp:forward page="ugró oldal"/> Ez a módszer a szerver mechanizmusát használja, hogy először az adatokat a puffernek adja ki, mielőtt a puffer tartalmát elküldi a kliensnek, az eredeti nem küldi el, hanem az oldal tartalmát küldi; ha sok kimenet van a <jsp:forward> előtt, az előző kimenet már megtöltötte a puffert, automatikusan kiindul a kliensnek, akkor az utasítás nem működik, erre különös figyelmet kell fordítani. A kérés átadhatja az értéket a múltra. Ugorj közvetlenül az oldalra, a következő kód nem kerül végrehajtásra. A címsor ugrás után változatlan marad. Nem tudok másik szerveren oldalra ugrani. A kép nem egy abszolút út, amit nem lehet megjeleníteni. 4. request.getRequestDispatcher ("Ugorjon az oldalra"); A kérés átadhatja az értéket a múltra. Végezd el az összes kódot az oldalon, mielőtt az oldalra ugrasz. Az ugró címsáv változatlan marad. Nem lehet egy másik szerveren oldalra ugrani: <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> A kimenet átirányításának három módja van: RESPONSE. SETREDERECT("URL") Ez a módszer módosítja a HTTP protokoll HEADER részét, hogy átirányító parancsot adjon a böngészőnek, így a böngésző megjeleníti az átirányított weboldal tartalmát. response.sendRedirect("http://localhost:7001/index.html"); A következő módszer megváltoztathatja a HTTP HEADER tulajdonságot is, amely ugyanúgy működik, mint az 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn="/index.html"; response.setHeader("Location",newLocn); % > < JSP:FORWORD > elfogadták Ez a módszer a szerver mechanizmusát használja, hogy először az adatokat a puffernek adja ki, mielőtt a puffertartalmat elküldi a kliensnek, az eredeti nem küldi el, hanem elküldi az oldal tartalmát; ha sok kimenet van a <JSP:FORWORD> előtt, az előző kimenet már megtöltötte a puffert, és automatikusan kiadja a kliensnek, akkor az utasítás nem működik, erre különös figyelmet kell fordítani. Három módja van egy másik JSP oldal beágyazásának egy JSP oldalon belül: 1. Az <%@ include file="header.jsp"%> alapján ez a módszer csak statikus oldalbetöltést érhet el, és leggyakrabban az általános oldalfejlécek header.jsp és footer.jsp betöltésére használják egy projektben. 2. <%@ include page="tt.jsp"%> ez a módszer dinamikus oldalbetöltést képes elérni, de paramétereket kell átadnia az oldalnak; 3. Tölts be egy másik jsp oldalt az oldalra <iframe src="jsp's path" > segítségével, ami egy soros keretrendszer. Ha előre használod a paraméter továbbításához, írd így: <%String str="Be vagy jelentkezve!"; %> <jsp:forward page="index.jsp> <jsp:param name="name" value= <%=str%>/> </jsp:forward> |
Előző:A JSP tönkreteszi a szekciós ülést, érvénytelenítve a felhasználói bejelentkezéstKövetkező:A jstl tag <c:if>
|