Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13811|Răspunde: 0

[JavaEE] Enciclopedia de salt pe pagina JSP

[Copiază linkul]
Postat pe 03.01.2015 21:28:01 | | |

(1). metoda înainte()
Folosește clasa javax.servlet.RequestDispatcher
RequestDispatcher rd = getServletContext().getRequestDispatcher("url");
rd.forward(requestVar,requestVar); Trece parametrii de intrare ai servlet-ului
Mai exact:
getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);

Există 4 moduri de a transforma servletele de pe server:
1. getRequestDispatcher() pentru ServletContext  
2. getNamedDispatcher() pentru ServletContext
3. getRequestDispatcher() pentru ServletRequest
4. Trimiterea redirect() a lui ServletResponse către direcție.
Metoda înainte, pentru că acestea sunt mai eficiente. Se folosește metoda sendredirect() a răspunsului servletresponse doar atunci când metoda forward nu este disponibilă.

(2).response.sendRedirect(url);
De fapt, trimite un antet special către browser, iar apoi browserul se îndreaptă către pagina specificată, astfel încât atunci când folosești sendRedirect, poți vedea schimbarea adresei în bara de adrese a browserului. Pagina nouă nu poate gestiona pagecontextul (cerere, răspunsul,... paginii vechi. Obiect.
response.sendRedirect ar trebui urmat de o returnare;

(3). Salt automat la limbajul HTML
<html>
<head>
<meta http-equiv="refresh" content="0;url="http://www.baidu.com">
0 este timpul de așteptare, dacă este setat la 5, înseamnă că saltul începe după ce aștepți 5 secunde
</head>
…………

(4). Salt JavaScript
A:
<script languate="javascript">
window.location.replace("http://www.baidu.com");
</script>
B: Poți atribui direct o valoare atributului window.location, window.location="url", care diferă de A prin faptul că are un istoric
C:
<script languate="javascript">
document.location.href("http://www.google.com");
</script>
Pentru document, locația nu este un obiect, document.location=document.url
Metodele forward(), back() și go() ale obiectului D:history necesită un parametru de shaping entry
<a href="javascript:history.go(-1)" > reveniți la pasul anterior</a>
Echivalent cu <a href="javascript:history.back()" > reveniți la pasul anterior</a>
E:
document.formName.action="test.jsp";
document.formName.submit();   Metoda commit JS
Primul tip:
<script language="javascript" type="text/javascript">
window.location.href="login.jsp?backurl="+window.location.href;
</script>
Al doilea tip:
<script language="javascript">
alert("return");
fereastră.istorie.înapoi(-1);
</script>
Al treilea tip:
<script language="javascript">
window.navigate("top.jsp");
</script>
Al patrulea tip:
<script language="JavaScript">
self.location='top.htm';
</script>
Al cincilea tip:
<script language="javascript">
alertă ("Acces ilegal!") );
top.locație='xx.jsp';
</script>

(5). <jsp:pagina forward="nextpage.jsp"/>
Ca:
<jsp:pagina forward="/servlet/login" />
<jsp:pagina forward="/servlet/login">
<jsp:param name="username" value="jsmith" />
</jsp:înainte>
Eticheta <jsp:forward> transmite un obiect de cerere care conține o cerere de utilizator de la un fișier JSP la altul.
<jsp:forward>tag, nu va fi executat.
Poți folosi eticheta <jsp:param> pentru a transfera parametrii și valorile către fișierul obiect, care trebuie să fie un fișier dinamic ce poate gestiona parametrii.
Dacă folosești ieșire fără buffer, fii atent când folosești <jsp:forward>. Dacă fișierul jsp are deja date înainte să folosești <jsp:forward>, atunci executarea fișierului va fi greșită.
Colecția metodelor de salt a paginilor JSP
1. response.sendRedirct("Sari la pagină");
Această metodă modifică partea HEADER a protocolului HTTP pentru a emite o comandă de redirecționare către browser, astfel încât browserul să afișeze conținutul paginii web de redirecționare. Cererea nu poate transmite valoarea dincolo de situație.
Execută tot codul de pe pagină înainte de a sări la pagină. Sari la bara de adrese pentru a schimba.
Poți sări la page response.sendRedirct(http://www.sun.com) pe un alt server.
2.response.setHeader(); Această metodă, la fel ca response.sendRedirect, se realizează prin modificarea părții HEADER a protocolului HTTP.
<% răspuns.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Șnură
newLocn="/index.html"; response.setHeader("Location",newLocn); % >
3.<jsp:pagina înainte="pagină sărită"/>
Această metodă folosește mecanismul serverului pentru a trimite datele mai întâi în buffer, înainte de a trimite conținutul bufferului către client, originalul nu trimite, ci trimite conținutul paginii; dacă există multă ieșire înainte de <jsp:forward>, ieșirea anterioară a umplut bufferul, va fi trimisă automat către client, atunci instrucțiunea nu va funcționa, iar acest lucru trebuie acordat o atenție specială.
Cererea poate transmite valoarea dincolo. Sari direct la pagină, următorul cod nu este executat. Bara de adrese rămâne neschimbată după sărituri. Nu pot sări la o pagină de pe un alt server. Imaginea nu este o cale absolută care nu poate fi afișată.
4. request.getRequestDispatcher ("Sari la pagină"); Cererea poate transmite valoarea dincolo. Execută tot codul de pe pagină înainte de a sări la pagină.
Bara de adrese de salt rămâne neschimbată. Nu poți sări la o pagină de pe un alt server <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> Există 3 moduri de a redirecționa ieșirea: RESPONSE. SETREDERECT("URL") Această metodă modifică partea HEADER a protocolului HTTP pentru a emite o comandă de redirecționare către browser, astfel încât browserul să afișeze conținutul paginii web redirecționate.
response.sendRedirect("http://localhost:7001/index.html");
Următoarea metodă poate modifica și proprietatea HTTP HEADER, care funcționează la fel ca 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Șir newLocn="/index.html"; response.setHeader("Location",newLocn); % >
< JSP:FORWORD > este adoptat
Această metodă folosește mecanismul serverului de a trimite datele mai întâi în buffer; înainte de a trimite conținutul bufferului către client, originalul nu trimite, ci trimite conținutul paginii; dacă există multă ieșire înainte de <JSP:FORWORD>, ieșirea anterioară a umplut bufferul și va fi trimisă automat către client, atunci instrucțiunea nu va funcționa, iar acest lucru trebuie acordat o atenție specială.
Există trei moduri de a include o altă pagină JSP într-o singură pagină JSP:
1. Prin <%@ include file="header.jsp"%> această metodă poate realiza doar încărcare statică a paginilor și este cel mai frecvent folosită pentru a realiza încărcarea header.jsp și footer.jsp generală a antetului paginii într-un proiect.
2. Prin <%@ include page="tt.jsp"%> această metodă poate realiza încărcare dinamică a paginii, dar trebuie să transmită parametri paginii;
3. Încarcă o altă pagină jsp pe pagină prin <iframe src="jsp's path" >, care este un framework inline. Dacă folosești forward pentru a transmite parametrul, scrie-l astfel: <%String str="Ești conectat!"; %>
<jsp:pagina înainte="index.jsp>
<jsp:param name="name" valoare= <%=str%>/>
</jsp:înainte>




Precedent:JSP distruge sesiunea de sesiune, invalidând autentificarea utilizatorului
Următor:Utilizarea etichetei jstl &lt;c:if&gt;
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com