Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13811|Antwort: 0

[JavaEE] JSP-Seitensprung-Enzyklopädie

[Link kopieren]
Veröffentlicht am 03.01.2015 21:28:01 | | |

(1). Forward()-Methode
Verwenden Sie die Klasse javax.servlet.RequestDispatcher
RequestDispatcher rd = getServletContext().getRequestDispatcher("url");
rd.forward(requestVar, requestVar); Übergeben Sie die Eingabeparameter des Servlets
Nämlich:
getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);

Es gibt vier Möglichkeiten, serverseitige Servlets zu drehen:
1. getRequestDispatcher() für ServletContext  
2. getNamedDispatcher() für ServletContext
3. getRequestDispatcher() für ServletRequest
4. ServletResponses sendredirect() zum Steuern.
Vorwärtsmethode, weil diese effizienter sind. Verwenden Sie die sendredirect()-Methode von servletresponse nur, wenn die Weiterleitungsmethode nicht verfügbar ist.

(2).response.sendRedirect(url);
Tatsächlich sendet er einen speziellen Header an den Browser, und der Browser wechselt dann zur angegebenen Seite, sodass man bei der Verwendung von sendRedirect die Adressänderung in der Adressleiste des Browsers sehen kann. Die neue Seite kann den Seitenkontext (Anfrage, Antwort,... der alten Seite nicht verarbeiten. Objekt.
response.sendRedirect sollte von einer Return gefolgt werden;

(3). Automatischer Sprung zur HTML-Sprache
<html>
<head>
<meta http-equiv="refresh" content="0;url="http://www.baidu.com">
0 ist die Wartezeit, wenn sie auf 5 gesetzt ist, bedeutet das, dass der Sprung nach dem Warten von 5 Sekunden beginnt
</head>
…………

(4). JavaScript-Sprung
Ein:
<script languate="javascript">
window.location.replace("http://www.baidu.com");
</script>
B: Du kannst auch direkt einen Wert dem window.location-Attribut window.location="url" zuweisen, was sich von A dadurch unterscheidet, dass es eine Historie hat
C:
<script languate="javascript">
document.location.href("http://www.google.com");
</script>
Für Document ist location kein Objekt, document.location=document.url
Die Methoden forward(), back() und go() des D:history-Objekts erfordern einen Shaping-Eingabeparameter
<a href="javascript:history.go(-1)" > zum vorherigen Schritt zurückgehen</a>
Äquivalent zu <a href="javascript:history.back()" > zum vorherigen Schritt zurückkehren zum vorherigen Schritt zurückkehren</a>
E:
document.formName.action="test.jsp";
document.formName.submit();   JS-Commit-Methode
Der erste Typ:
<Skriptsprache="JavaScript" Typ="Text/JavaScript">
window.location.href="login.jsp?backurl="+window.location.href;
</script>
Der zweite Typ:
<skriptsprache="javascript">
alert("return");
window.history.back(-1);
</script>
Der dritte Typ:
<skriptsprache="javascript">
window.navigate("top.jsp");
</script>
Der vierte Typ:
<script language="JavaScript">
self.location='top.htm';
</script>
Der fünfte Typ:
<skriptsprache="javascript">
alert("Illegaler Zugriff!") );
top.location='xx.jsp';
</script>

(5). <jsp:forward page="nextpage.jsp"/>
Wie:
<jsp:forward page="/servlet/login" />
<jsp:Weiterleitungsseite="/servlet/login">
<jsp:param name="username" value="jsmith" />
</jsp:forward>
<jsp:forward> Tag übergibt ein Anforderungsobjekt, das eine Benutzeranfrage enthält, von einer JSP-Datei an eine andere.
<jsp:forward>Tag wird nicht ausgeführt.
Du kannst das Tag <jsp:param> verwenden, um Parameter und Werte in die Objektdatei zu übertragen, die eine dynamische Datei sein muss, die Parameter verarbeiten kann.
Wenn du ungepufferte Ausgabe verwendest, sei vorsichtig bei <jsp:forward>. Wenn die JSP-Datei bereits Daten enthält, bevor du <jsp:forward> verwendest, wird die Dateiausführung falsch sein.
JSP-Seitensprungmethodensammlung
1. response.sendRedirct("Zur Seite springen");
Diese Methode modifiziert den HEADER-Teil des HTTP-Protokolls, um dem Browser einen Redirect-Befehl zu geben, sodass der Browser den Inhalt der Redirect-Webseite anzeigt. Die Anfrage kann den Wert nicht weitergeben.
Führe den gesamten Code auf der Seite aus, bevor du zur Seite springst. Springe zur Adressleiste, um zu wechseln.
Du kannst auf einem anderen Server zur Seite response.sendRedirct(http://www.sun.com) springen.
2.response.setHeader(); Diese Methode, ähnlich wie response.sendRedirect, erfolgt durch Änderung des HEADER-Teils des HTTP-Protokolls.
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Schnur
newLocn="/index.html"; response.setHeader ("Location",newLocn); % >
3.<jsp:forward page="page springen"/>
Diese Methode nutzt den Mechanismus des Servers, um zuerst Daten an den Puffer auszugeben; bevor der Inhalt des Puffers an den Client gesendet wird, sendet das Original nicht, sondern stattdessen den Inhalt der Seite. Wenn vor <jsp:forward> viel Ausgabe vorhanden ist, der vorherige Output den Puffer voll gemacht hat und automatisch an den Client ausgegeben wird, funktioniert die Anweisung nicht; dies sollte besonders beachtet werden.
Die Anfrage kann den Wert weiterleiten. Springen Sie direkt zur Seite, der folgende Code wird nicht ausgeführt. Die Adressleiste bleibt nach dem Sprung unverändert. Ich kann nicht auf eine Seite auf einem anderen Server springen. Das Bild ist kein absoluter Weg, der nicht angezeigt werden kann.
4. request.getRequestDispatcher ("Zur Seite springen"); Die Anfrage kann den Wert weiterleiten. Führe den gesamten Code auf der Seite aus, bevor du zur Seite springst.
Die Sprungadressleiste bleibt unverändert. Du kannst nicht auf eine Seite auf einem anderen Server springen <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> Es gibt drei Möglichkeiten, die Ausgabe umzuleiten: RESPONSE. SETREDERECT("URL") Diese Methode verändert den HEADER-Teil des HTTP-Protokolls, um einen Redirect-Befehl an den Browser zu senden, sodass der Browser den Inhalt der umgeleiteten Webseite anzeigt.
response.sendRedirect("http://localhost:7001/index.html");
Die folgende Methode kann auch die Eigenschaft HTTP HEADER ändern, die genauso funktioniert wie 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn="/index.html"; response.setHeader("Location",newLocn); % >
< JSP:FORWORD > wird übernommen
Diese Methode nutzt den Mechanismus des Servers, um zuerst Daten an den Puffer auszugeben; bevor der Pufferinhalt an den Client gesendet wird, sendet das Original nicht, sondern stattdessen den Inhalt der Seite. Wenn vor <JSP:FORWORD> viel Ausgabe vorhanden ist, hat die vorherige Ausgabe den Puffer gefüllt und wird automatisch an den Client ausgegeben, funktioniert die Anweisung nicht, dies sollte besonders beachtet werden.
Es gibt drei Möglichkeiten, eine weitere JSP-Seite innerhalb einer JSP-Seite zu verschachteln:
1. Mit <%@include file="header.jsp"%> kann diese Methode nur statisches Seitenladen erreichen und wird am häufigsten verwendet, um das Laden von allgemeinen Seitenkopf-header.jsp und footer.jsp in einem Projekt zu realisieren.
2. Mit <%@include page="tt.jsp"%> kann diese Methode ein dynamisches Seitenladen ermöglichen, muss jedoch Parameter an die Seite weitergeben;
3. Lade eine weitere JSP-Seite auf die Seite mit <iframe src="jsp's path" >, was ein Inline-Framework ist. Wenn du Weiterleitung benutzt, um den Parameter weiterzugeben, schreibe ihn so: <%String str="Du bist eingeloggt!"; %>
<jsp:forward page="index.jsp>
<jsp:param name="name" value= <%=str%>/>
</jsp:forward>




Vorhergehend:JSP zerstört die Sitzungssitzung und macht den Benutzer-Login ungültig
Nächster:Verwendung des jstl-Tags &lt;c:if&gt;
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com