Gibt es ein pure-Java-Pendant zu < jsp: forward page = "..."/>, das ich innerhalb eines <% ...%> Blocks verwenden kann?Jsp: Weiter in Java ohne JSP-Tag verwenden?
Zum Beispiel, ich habe derzeit eine JSP-Seite etwas wie folgt aus:
<%
String errorMessage = SomeClass.getInstance().doSomething();
if (errorMessage != null) {
session.setAttribute("error", errorMessage);
%>
<jsp:forward page="error.jsp" />
<%
} else {
String url = response.encodeRedirectURL("index.jsp");
response.sendRedirect(url);
}
%>
Nachdem die <% zu brechen ...%> Block die jsp zu verwenden: vorwärts ist hässlich und macht es schwieriger zu lesen aufgrund von Einrückungen, unter anderem.
Also, kann ich die Weiterleitung in den Java-Code ohne Verwendung des JSP-Tags tun?
So etwas wäre ideal:
<%
String errorMessage = SomeClass.getInstance().doSomething();
if (errorMessage != null) {
session.setAttribute("error", errorMessage);
someObject.forward("error.jsp");
} else {
String url = response.encodeRedirectURL("index.jsp");
response.sendRedirect(url);
}
%>
Es ist das Aufbrechen von Code, der Scriptlets wartbaren im Laufe der Zeit macht. Aus diesem Grund wurde die Verwendung von Tag-Bibliotheken und JSTL vorangetrieben. Es ist einfacher, alles so ähnlich wie HTML zu sehen als <% for // %> etwas Text <% tue etwas%> anderen Text <% end for loop%> mehr Text. – MetroidFan2002