一尘不染

显示来自JSTL的httpServletResponse.sendError(403,“我的消息”)状态的最简单方法是什么

jsp

我有一个Servlet,它会进行一些错误检查,如果出现问题,我通常会这样做:

response.sendError(403, "My message")
return;

希望从servlet抛出一个异常-因为我想用HTTP状态代码一致。

在web.xml中,我配置了以下内容:

<error-page>
    <error-code>403</error-code>
    <location>/failure.jsp</location>
</error-page>

在failure.jsp中,我声明了JSTL的用法,并且我想获取显示的错误消息。我知道我可以在scriptlet中执行以下操作:

<%= request.getAttribute(“ javax.servlet.error.message”)%>

但是我想将JSTL与c:if子句一起使用,因此,如果我可以使用scriptlet删除它,将不胜感激。

如何使用JSTL在错误页面的servlet中轻松地从sendError语句中获取值?


阅读 675

收藏
2020-06-08

共1个答案

一尘不染

脚本:

<%= request.getAttribute("javax.servlet.error.message") %>

可以翻译为以下EL:

${requestScope['javax.servlet.error.message']}

bean['foo.bar']如果您在Map点名或范围键名中有圆点,则括号表示法非常有用,因为bean.foo.bar显然不会返回所需的Map值或范围值。

2020-06-08