如何在JSP上显示RuntimeException

时间:2017-05-10 10:01:11

标签: java spring jsp

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

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

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

3 个答案:

答案 0 :(得分:3)

你可以用不同的方式做到这一点。在我假设您的要求时,您希望在jsp页面中将Exception消息显示为验证错误。在这种情况下,我宁愿不抛出RuntimeException,而是将错误消息绑定到您正在处理的调用HttpServletRequest的{​​{1}}对象。

然后它就能从你的jsp访问那条消息,并可以随你显示 -

你的Servlet中的

HttpServlet

现在在你的jsp中,只需这样做

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

答案 1 :(得分:0)

您可以在不同的文件中编写自己的error.jsp

<%@ page isErrorPage="true" import="java.io.*" contentType="text/plain"%>
<%=exception.getMessage()%>
<c:out value="${exception}"/> 

只需将其添加到web.xml,就像这样:

<error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>/error.jsp</location>
</error-page>

答案 2 :(得分:0)

<%

         int x = 0;

         if (x ==o ) {
            //some logic
         } 
         else
{
throw new RuntimeException("message");
}

      %>

你可以尝试上面的东西