¿Hay un Java puro equivalente a < jsp: reenvíe la página = "..."/> que puedo usar dentro de un bloque <% ...%>?jsp: reenviar en Java sin usar la etiqueta JSP?
Por ejemplo, actualmente tienen una página JSP algo como esto:
<%
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);
}
%>
tener que romper el <% ...%> Bloque de utilizar el jsp: forward es feo y hace que sea más difícil de leer debido a la sangría, entre otras cosas.
Entonces, ¿puedo hacer el reenvío en el código de Java sin usar la etiqueta JSP?
Algo como esto sería 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 la ruptura de código que hace scriptles imposible de mantener en el tiempo. Es por eso que se hizo un esfuerzo para usar bibliotecas de etiquetas y JSTL en primer lugar. Es más fácil ver todo como algo similar a HTML que <% for // %> texto <% do something%> other text <% end for loop%> más texto. – MetroidFan2002