我有一个 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 的使用,我想显示错误消息。我知道我可以在脚本中执行以下操作:
<%= request.getAttribute("javax.servlet.error.message") %>
但是我想将 JSTL 与一些 c:if 子句一起使用,因此如果我可以放弃使用 scriptlet,这将不胜感激。
如何使用 JSTL 从错误页面中 servlet 的 sendError 语句中轻松获取值?
请您参考如下方法:
脚本:
<%= request.getAttribute("javax.servlet.error.message") %>
可以翻译成以下EL:
${requestScope['javax.servlet.error.message']}
大括号表示法
bean['foo.bar']如果您在
Map 中有点,则非常有用或作用域键名,因为
bean.foo.bar显然没有返回所需的
Map或范围值。




