java - 如何在 JSP 上显示 RuntimeException

标签 java spring jsp

我抛出一个RuntimeException带有一条消息,我想在 JSP 上显示它

.....
String ip = getClientIP();
if (loginAttemptService.isBlocked(ip)) {
     throw new RuntimeException("blocked");
}
.....

我试过<c:out value="${RuntimeException}"/> ,但这是一个错误的做法。如何显示该消息?

最佳答案

您可以通过不同的方式来做到这一点。正如我假设您的要求一样,您希望在 jsp 页面中将异常消息显示为验证错误。在这种情况下,我不想抛出 RuntimeException,而是将错误消息绑定(bind)到您调用的 HttpServlet 中的 HttpServletRequest 对象。处理。

然后它将能够从您的 jsp 访问该消息并可以按照您的意愿显示 -

在您的 Servlet 中

String ip = getClientIP();
if (loginAttemptService.isBlocked(ip)) {
     request.setAttribute("error", "blocked");
}

现在在你的jsp中,只需执行以下操作

<c:if test=${error not empty}/>
   <c:out value="${error}"/>
</C:if>

关于java - 如何在 JSP 上显示 RuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43889217/

相关文章:

java - Spring:默认选择bean

java - 将@Controller注入(inject)另一个spring bean

Java:帮助我将工作 .jsp 转换为某种 XML 表示法

java - 如何在 jsp 文件中的查询语句中使用从 servlet 检索的数据?

java - 如何在 Servlet 代码中发出警报消息并将重定向发送到 JSP 页面?

java - 将类文件(字节)解压到 ASM ClassNode 中

java - IncorrectResultSizeDataAccessException - 尝试简单地获取最新的行

java - 映射结构 : enrich mapping annotation to define custom mapper

java - 未包装的连接是否被重用?

java - 幂递归函数分析