我有一个 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或范围值。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!