当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有一个servlet进行一些错误检查,如果出现问题,我通常会这样做: response.sendError(403, "My message")return; 我不想从servlet中抛出异常 – 因为我想要符合HTTP状态代码. 在web.xml中,我配置了以下
我有一个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语句中获取值?

scriptlet:

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

可以翻译成以下EL:

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

如果在Map或作用域键名中有点,则括号符号bean [‘foo.bar’]非常有用,因为bean.foo.bar显然不返回所需的Map或作用域值.

网友评论