Java JaspereException的可能原因是什么

Java JaspereException的可能原因是什么,java,jsp,tomcat,Java,Jsp,Tomcat,我有一个JSP,它从会话对象中获取一个Arraylist,并从中删除项目。它似乎工作得很好,当我导航到那个页面时,不知从何而来,页面是空白的。我检查了Tomcat日志文件,在catalina.out中,我收到了一个JaspereExceptiona,它显示它在一行上,如下所示 for(int i; i < agentItems.size(); i++) for(int i;i

我有一个JSP,它从会话对象中获取一个
Arraylist
,并从中删除项目。它似乎工作得很好,当我导航到那个页面时,不知从何而来,页面是空白的。我检查了Tomcat日志文件,在catalina.out中,我收到了一个
JaspereException
a,它显示它在一行上,如下所示

for(int i; i < agentItems.size(); i++)
for(int i;i
agentItems
是我正在使用的
ArrayList
的名称。我一直在调试它,似乎不知道问题出在哪里。我已经读到一个
JasperException
是作为JSP的
nullpointerxception
抛出的。这是真的还是我完全忽略了这个问题

我的web应用程序运行在一台本地计算机和一台用于开发的中间服务器上,两者都没有遇到任何问题。为什么只有在这台服务器上它才会给我带来问题?

这就是一切。您需要进一步查看stacktrace,查看由
或根本原因引起的
部分以及随后出现的跟踪。它可能是由许多事情引起的。JSP基本上被编译成一个大的
try
块,任何捕获到的都将被包装成一个特定于servletcontainer的异常,比如Tomcat和Clone中的
JaspereException
。归结起来就是:

try {
    // All translated JSP code comes here. Max 64K.
} catch (Throwable t) {
    throw new JasperException(t);
}
检查stacktrace第一行中的
.java
文件名,在servletcontainer的
work
目录中找到该文件,并在编辑器中打开该文件。你看到了吗

也就是说,使用Scriptlet是一个很好的选择。使用servlet控制/预处理/后处理请求,使用Javabeans表示数据模型,在JSP中使用Taglibs控制页面流和输出,在JSP中使用表达式语言(EL)访问后端数据。在特定情况下,可以使用JSTL的
c:forEach
标记在数组或
List
上循环

<c:forEach items="${agents}" var="agent">
    <p>Agent: ${agent.name}
</c:forEach>

代理:${Agent.name}

jasperexception
当JSP无法访问它从外部获取的元素或项目,并且在这里它可能无法访问
代理时,也会发生。请尝试提供完全限定的类名,否则请导入包