首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSP错误页被插入而不是转发?

JSP错误页被插入而不是转发?
EN

Stack Overflow用户
提问于 2014-03-17 14:23:47
回答 1查看 53关注 0票数 0

在JSP上尝试一些错误处理时,我注意到了一些奇怪的行为。

  • 我创建了一个Myobject,但是不要在其中放置任何东西来导致一个用于测试的空指针。
  • 我已经在我的页面中包含了errorPage指令,所以当这个异常发生时,它应该会转到我的错误页面。

实际错误将发生在表单的输入中:

代码语言:javascript
运行
复制
....
 <input type="hidden" id="INITIAL_ACTION" name="INITIAL_ACTION" value="<%=Myobject.myMethod()%>"/>
<input type="hidden" name="INITIAL_PAGE" ....

我看到了错误页面的内容,所以错误页面指令是有效的,但是页面看起来不正常。现在,当我查看页面的源代码时,看起来错误页面实际上是插入到我上一页上一个INITIAL_ACTION输入的值中,而不是作为一个转发:

代码语言:javascript
运行
复制
...
        <input id="INITIAL_ACTION" type="hidden" value=" <html> <head> <title>ErrorPage</title> <link rel = 'stylesheet' type = 'text/css' href = '../css/newstyle.css' /> </head> <body> <div id=" name="INITIAL_ACTION"></input>
        <table class="borderedtable">

            <tbody>
                <tr> … </tr>
                <tr> … </tr>
    ...

当然,这给了我一些实际错误页面上的布局/css问题。有谁能解释一下这种行为或指出正确的方向吗?

编辑:

增加页面缓冲区可以工作。

但是,对于我当前的应用程序来说,这将很难确定哪些页面需要这样做,以确保它们的错误处理工作正常。

问题是,错误页中的第一个DIV的id-属性的第一个双引用被用来关闭插入它的位置的值属性。

在错误页面的顶部,我添加了html-注释,其中包含双引号+解释。现在使用了引号,页面的其余部分也呈现得很好。

但我真的不喜欢我的解决方案,感觉不可靠

EN

回答 1

Stack Overflow用户

发布于 2014-03-17 14:38:47

我猜您是在使用Apache或使用Jasper ( Tomcat的JSP引擎)的其他JSP容器之一,或者使用它的派生程序。

如果错误发生时已经提交了响应,Jasper将包含错误页面,而不是转发给它,因为在这种情况下,这是它所能做的最好的。

要转发到错误页面,您需要在提交响应之前执行触发错误的操作。这样做的可能方法包括:

  • 增加页面缓冲区的大小,以便稍后提交响应。
  • 重构页面,以便更早地执行触发错误的代码
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22456895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档