有沒有辦法從jsp:include
頁面的內部獲取其請求頁面以響應HTTP 500錯誤?我已經嘗試過使用response.sendError(418, "I'm a teapot.");
,但只適用於包含jsp:include
的JSP,並且只有在第一行時纔有效,因爲在響應提交後無法調用它。我所擁有的是這樣的:從JSP內部返回500錯誤包括
的index.jsp:
// other HTML
<jsp:include page="Exapmle.jsp">
<jsp:param name="aVariable" value="aValue" />
</jsp:include>
// other HTML
Example.jsp:
<%
String aVariable = request.getParameter("aVariable");
if (aVariable != null && !aVariable.trim().isEmpty) {
// code to generate content
%><%=someContent%><%
} else {
response.sendError(418, "I'm a teapot");
}
%>
那麼,有沒有辦法做到這一點?我懷疑JSP是如何工作的,但希望在某處能夠提供幫助。另外,servlet不是一個選項(至少現在是這樣)。
哦,我知道。我不喜歡需要這樣做,但不幸的是我現在的任務。我們正在從Java servlet切換到.NET MVC的過程中,所以這應該是一個快速修復,在完成切換之前完成某些工作。它的原因是漫長而煩人的,但正如我的經理希望這樣做。 – Daevin
然後,您仍然應該將檢測到的錯誤狀態向上移動。如果您無法將其推廣到適當的位置,請將其移至包含jsp的位置。這是醜陋的錯誤,但似乎是爲你走的路。 –