我有一个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语句中获取值?
脚本:
<%= request.getAttribute("javax.servlet.error.message") %>
可以翻译为以下EL:
${requestScope['javax.servlet.error.message']}
bean['foo.bar']如果您在Map点名或范围键名中有圆点,则括号表示法非常有用,因为bean.foo.bar显然不会返回所需的Map值或范围值。
bean['foo.bar']
Map
bean.foo.bar