我可以在 <% ... %> 块中使用与 <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 代码中进行转发吗?
像这样的东西是理想的:
<%
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);
}
%>