Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp Struts2OGNLS:iterator与JSTLC:forEach性能_Jsp_Struts2_Jstl_Ognl - Fatal编程技术网

Jsp Struts2OGNLS:iterator与JSTLC:forEach性能

Jsp Struts2OGNLS:iterator与JSTLC:forEach性能,jsp,struts2,jstl,ognl,Jsp,Struts2,Jstl,Ognl,我最近一直在构建一些相当动态的web应用程序,它们严重依赖于数据库(JPA)支持的配置。这些应用程序是多用户、多帐户系统,最终用户可以在其中基于JPA实体创建自定义表单 我注意到,随着我的JSP页面变得越来越复杂,我的性能和加载时间受到了影响。起初我认为是数据层造成了我的瓶颈,但今天我一时兴起,用基于JSTL的迭代方案替换了两个包含页面,这些页面是使用struts迭代的对象列表动态创建的。我的页面加载时间从大约10秒变为大约1秒,这让我大吃一惊。随着列表大小的增加,JSP页面的呈现时间显著增加(

我最近一直在构建一些相当动态的web应用程序,它们严重依赖于数据库(JPA)支持的配置。这些应用程序是多用户、多帐户系统,最终用户可以在其中基于JPA实体创建自定义表单

我注意到,随着我的JSP页面变得越来越复杂,我的性能和加载时间受到了影响。起初我认为是数据层造成了我的瓶颈,但今天我一时兴起,用基于JSTL的迭代方案替换了两个包含页面,这些页面是使用struts迭代的对象列表动态创建的。我的页面加载时间从大约10秒变为大约1秒,这让我大吃一惊。随着列表大小的增加,JSP页面的呈现时间显著增加(使用struts2 OGNL迭代)


在我的struts配置中,我关闭了开发模式,并且使用了一个简单的主题集,没有什么特别的。我正在考虑重写一些迭代频繁的页面,以使用JSTL而不是struts,但我想我会四处询问,看看是否遗漏了一些内容,或者是否有人遇到过类似的情况

OGNL相当慢;较新的版本将寻求一些性能增强

在我看来,S2和JSTL标记功能重叠,就像S1一样,我倾向于JSTL


如果不知道更多关于您的实际表示层的信息,您已经采取了哪些措施,或者您的主题模板是什么样子的,那么很难说得更多。

感谢您的快速回复。我已经阅读了您提供的链接所建议的所有文档,并简要地使用了建议的设置,但没有任何效果。听起来我可能不得不在迭代量很大的页面上使用JSTL,因为它们似乎是唯一的瓶颈。我使用简单的主题,并用纯HTML/CSS构建所有JSP演示文稿,这样就不会有任何问题。我将把我的迭代部分拆分为包含部分,并用JSTL标记它们。一段时间以来,OGNL的糟糕表现一直是我们的痛处。开始尝试让EL引擎可更换(我们的目标是MVEL),但我不认为这会出现在任何版本中。。。不过,这可能是我们非常仔细地研究的内容。在做一些研究时遇到了这个问题,我想您可能会发现它很有趣:已经有一个请求包装器可以检查值堆栈(我不记得是先检查的堆栈还是正常的EL范围)。换句话说,您已经可以使用JSP EL访问值堆栈上的对象。很多文档都是原始WW代码和非常早期的S2代码遗留下来的。(顺便说一句,我是Struts提交人/Struts PMC成员)很高兴知道。看来我明天要重新编码了。谢谢你的提示,戴夫。