Y a-t-il un moyen, à l'intérieur d'une page jsp:include
, obtenir sa page demandant de répondre avec une erreur HTTP 500? J'ai essayé d'utiliser le response.sendError(418, "I'm a teapot.");
, mais cela ne fonctionne que dans le JSP qui contient le jsp:include
, et seulement s'il s'agit de la première ligne car vous ne pouvez pas l'appeler après que la réponse a été validée. Ce que j'est le suivant:Retour avec une erreur 500 de l'intérieur d'un JSP include
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");
}
%>
est-il donc une façon de le faire? Je suis douteux basé sur le travail de JSP, mais j'espère que quelque part ici peut aider. En outre, les servlets ne sont pas une option (maintenant, au moins).
Oh, je sais. Je n'aime pas avoir besoin de faire ça, mais c'est malheureusement ma tâche en ce moment. Nous sommes dans le processus de passage à .NET MVC à partir de servlets Java, donc ceci est supposé être une solution rapide pour faire fonctionner quelque chose avant de faire le changement entièrement. Les raisons sont longues et ennuyeuses, mais comme c'est mon manager veut que cela soit fait de cette façon. – Daevin
Ensuite, vous devriez toujours déplacer la détection de la condition d'erreur vers le haut. Si vous ne pouvez pas le promouvoir à l'endroit approprié, déplacez-le vers le jsp inclus. C'est moche et faux, mais semble être le chemin à parcourir pour vous. –