Czy istnieje odpowiednik Javy: < jsp: forward page = "..."/>, którego mogę użyć w bloku <% ...%>?jsp: do przodu w Javie bez użycia znacznika JSP?
Na przykład, obecnie mam strony JSP coś takiego:
<%
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);
}
%>
Mając złamać <% ...%> blok korzystania z jsp: forward jest brzydki i sprawia, że trudniej odczytać z powodu wgniecenia, między innymi.
Czy mogę więc przesłać dalej w kodzie Java bez użycia znacznika JSP?
Coś takiego byłoby idealne:
<%
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);
}
%>
To rozbiórka kodu sprawia, że skrypty stają się nieosiągalne w miarę upływu czasu. Właśnie dlatego podjęto próbę używania bibliotek znaczników i JSTL w pierwszej kolejności. Łatwiej jest zobaczyć to wszystko jako zbliżone do HTML niż <% for // %> jakiś tekst <% zrobić coś%> inny tekst <% koniec dla pętli%> więcej tekstu. – MetroidFan2002