假设我的Servlet中抛出了一个未处理的NullPointerException,此时会跳转到500错误页面,我自定义了该页面,想在该页面把这个异常的信息打印出来
我找到request中的“javax.servlet.error.exception”属性(attribute)保存的就是这个空指针异常对象
但是我用<c:out value="javax.servlet.error.exception"/>却无法打印出该异常,显示结果始终为空

解决方案 »

  1.   

    你看jsp页面设置了isErropage='true'没
      

  2.   

    我将JSP页面设置了isErropage='true',但是<c:out value="javax.servlet.error.exception"/>仍然为空,EL表达式有问题?
      

  3.   

    try
    <c:out value="${javax.servlet.error.exception}"/>
      

  4.   

    不好意思,我用的就是<c:out value="${javax.servlet.error.exception}"/>,刚才不是copy的,写错了
    <c:out value="${javax.servlet.error.exception}"/>不行
      

  5.   

    直接写${javax.servlet.error.exception}呢
      

  6.   

    直接写${javax.servlet.error.exception}仍然为空
    事实上我这个空指针异常是从过滤器中抛出的,而不是Servlet,这有区别吗?
      

  7.   

    错误信息不能直接保存ErrorMsg变量中吗,页面上直接${ErrorMsg}输出不可以吗?
      

  8.   


    如果我用代码去保存的话,那我就得catch Exception,如果我只需要在一个过滤器中这么做也就罢了,我现在想将所有过滤器、Servlet中产生的Exception,都在同一个500错误页面显示出来,就不能这么做了。
    我现在只好另找途径,用Struts2的拦截器去实现这个功能了,但是拦截器不能拦截过滤器中抛出的异常