<% ... %> ブロック内で使用できる <jsp:forward page="..." /> に相当する純粋な Java はありますか?
たとえば、現在、次のような JSP ページがあります。
<%
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);
}
%>
jsp:forward を使用するために <% ... %> ブロックを壊さなければならないのは見苦しく、とりわけインデントのために読みにくくなります。
では、JSP タグを使用せずに Java コードで forward を実行できますか?
次のようなものが理想的です。
<%
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);
}
%>