`
wokgsi2
  • 浏览: 13335 次
社区版块
存档分类
最新评论

struts2 UI速度很慢,实在不能接受

阅读更多
最近在研究strut2.0.6 ,基本上是webwork的改进版,连配置文件都是类似的,只是将webwork的字样都换成了struts,2.0的版本好处再次不多说,说说不爽的地方,在ui层速度实在是慢,已经到了无法忍受的地步了,每个ui组件对应着一个ftl模板,如果页面比较复杂的话(我们系统最大的录入页面有接近60个控件)页面在加载的时候就会加载执行60个ftl文件,实在不敢想象。不知大家在界面层都是怎么处理的?
分享到:
评论
16 楼 Kousan 2007-04-18  
我之前对Tapestry的一些UI进行提取,封成自定义TAG(没办法,团队里都只会用STRUTS,而且都不愿学Tapestry)并用JS动态加载的方法,现在一个页面7-8个日期选择控件,就一个DATEPICKER的代码,感觉还算好用~
15 楼 sunsy 2007-04-16  
用了一段时间的DOJO,到0.4的时候问题还是很多的,就改为项目组自己开发WIDGET了,借鉴了一些DOJO的做法,但是更轻量,现在用得也挺好的。
  当时用DOJO发现的几个问题,在FRAME下会有内存方面的问题,一个页面如果控件比较多的话会非常慢,而且当时的样式也不是很好看,自己去改样式的话升级时又不是很方便,页面验证也不是很好用,还有一些其他的问题,最终还是放弃使用。
14 楼 Arden 2007-04-16  
一个基于dojo的UI,你说速度能不慢吗?dojo下一下目标的重点就是在性能方面下功夫!
13 楼 wokgsi2 2007-04-02  
差沙 写道
解决的办法就是不用他的标签库,效率不说,容易限制UI的灵活性。

当然jsp是最简单和最灵活的技术,可是ui组件的正确使用确实可以带来很多好处,用的好还是很爽的,比如列表选择元素数据的回填(select,radio,checkbox元素)可以直接通过ui组件实现,不需要通过if else判断,一些封装好的大组件tree,tab,datetimepicker(struts2用的dojo日期选择控件也不敢恭维)等也不需要自己去写js,同时我认为最大的好处还是可以实现整个界面层的校验工作,所以尽管struts2种的ui组件仍然存在着很多问题我还是希望通过扩展和定制化去解决。
12 楼 kevinhuang 2007-04-02  
一定要用它的UI组件吗?没觉得有什么好处啊a
11 楼 RoyMax 2007-04-01  
新项目用Struts2,不用它的控件和标签,直接用JSTL+HTML,也很方便啊
10 楼 firmgoal 2007-03-31  
robbin已经说得很清楚了,有缓存。FTL的缓存是由FreeMarker实现的,而且缓存的不是FTL文件,而是已经解析FTL后的结点对象,所以基本上不存在太大的效率的问题。
9 楼 morfil 2007-03-31  
的确过多的UI组件会造成性能低下,利与弊之间做个折衷的选择吧
8 楼 cqwonder 2007-03-31  
引用
解决的办法就是不用他的标签库,效率不说,容易限制UI的灵活性。


基本上,如果有对主题进行修改,struts的UI组件似乎可以称之为不可用,完全就是一半拉子工程。

绝对不要用xhtml和Ajax,xhtml限制N多,Ajax还很不成熟。

自己修改simple,保持每个控件最简化,收益还是有很多的,并且可以在效率与速度之间取得比较好的平衡。
7 楼 haihai 2007-03-30  
没用过,关注中
6 楼 差沙 2007-03-30  
解决的办法就是不用他的标签库,效率不说,容易限制UI的灵活性。
5 楼 林秋枫 2007-03-30  
   动态生成的UI都存在效率问题。比如JSF、Tapestry等也是这样。
当一个页面的UI逐渐太多的时候,性能极度的差。
    而且UI组件只能编程的时候可以重用。最终生产的js却无法重用。比如我们有一个页面用10几个日期输入的组件。结果生成的页面中每个日期组件都对应着一大对JS脚本。最终生产的整个html页面保存下来都接近1M。
性能浪费在UI组件的生成方面,是多么的不爽。
    我现在很怀疑UI组件的用途了
4 楼 wokgsi2 2007-03-30  
robbin 写道
wokgsi2 写道
最近在研究strut2.0.6 ,基本上是webwork的改进版,连配置文件都是类似的,只是将webwork的字样都换成了struts,2.0的版本好处再次不多说,说说不爽的地方,在ui层速度实在是慢,已经到了无法忍受的地步了,每个ui组件对应着一个ftl模板,如果页面比较复杂的话(我们系统最大的录入页面有接近60个控件)页面在加载的时候就会加载执行60个ftl文件,实在不敢想象。不知大家在界面层都是怎么处理的?


只有第一次访问才会加载,随后就是从缓存里面取了。

即使有缓存,每个请求都要解释执行n多个ftl文件,还是比较慢,不过编辑页面并发行不会太大,问题还是可以规避的.
3 楼 caryl 2007-03-30  
楼主看看是不是js文件加载的比较多?特别是用struts2的ajax theme。
2 楼 robbin 2007-03-30  
wokgsi2 写道
最近在研究strut2.0.6 ,基本上是webwork的改进版,连配置文件都是类似的,只是将webwork的字样都换成了struts,2.0的版本好处再次不多说,说说不爽的地方,在ui层速度实在是慢,已经到了无法忍受的地步了,每个ui组件对应着一个ftl模板,如果页面比较复杂的话(我们系统最大的录入页面有接近60个控件)页面在加载的时候就会加载执行60个ftl文件,实在不敢想象。不知大家在界面层都是怎么处理的?


只有第一次访问才会加载,随后就是从缓存里面取了。
1 楼 jamesby 2007-03-30  
这个比较关注,刚刚学习struts2.

相关推荐

    Struts2 UI标签代码示例

    本篇文章将深入探讨Struts2 UI标签中的几个关键组件:tabbedPanel、autocompleter、tree和treenode以及optiontransferselect,这些标签在实际项目中有着广泛的应用。 首先,`tabbedPanel`标签是用于创建多选项卡的...

    struts2 UI标签

    Struts2 UI标签是Struts2框架中的一部分,主要用于简化Web应用中的视图层开发,提升开发效率。这些标签提供了一种声明式的方式来构建动态HTML页面,使得开发者无需直接编写繁琐的JSP代码,而是通过XML或者Java配置来...

    Struts2Ui标签

    form,这个属性 引用表单元素所在的表单,通过该form属性,可以实现表单元素和表单之间的交互。例如,我们可以通过${parameters.form.id}来取得 表单元素所在表单的ID。

    解决struts组件上传附件速度很慢的问题

    总的来说,解决Struts组件上传附件速度慢的问题需要从多个角度出发,包括但不限于服务器配置、网络环境、浏览器兼容性和应用代码优化。通过综合调整,可以有效地改善用户体验,提高文件上传的速度和效率。

    struts2下jquery-ui的全部实例

    本教程将详细介绍如何在Struts2环境下集成并使用jQuery UI,以帮助初学者更好地理解和应用这两个技术。 首先,让我们深入了解一下Struts2和jQuery UI的基础知识: 1. **Struts2框架**: - **Action类与Result类型...

    eclipse + struts2+sping + bootstrap+juqery-ui整合源码

    【标题】"eclipse + struts2+sping + bootstrap+juqery-ui整合源码"涉及的关键技术栈包括Eclipse开发环境、Struts2框架、Spring框架、Bootstrap前端库以及jQuery UI组件库。这些技术在Java Web开发中占据着重要地位...

    struts2简单例子

    这个“struts2简单例子”是初学者理解Struts2工作原理和核心概念的一个很好的起点。让我们深入探讨一下Struts2的基础知识。 1. **MVC架构**: MVC模式是软件设计中的一个经典模式,它将应用逻辑分为三个主要部分:...

    struts2-demo

    搭建一个简单的struts2开发环境 开发Struts2应用最少需要的JAR: a. struts2-core-2.x.x.jar : Struts2 框架的核心类库 b. xwork-core-2.x.x.jar: XWork类库,Struts2在其上构建 c. ognl-2.6.x.jar: 对象图导航...

    struts2 标签详解+ ui标签实例

    本篇主要介绍Struts2中的标签库,特别是通用标签和UI标签。 首先,Struts2的标签库支持三种不同的表示技术:JSP、FreeMarker和Velocity。虽然部分标签在这三种技术下都可使用,但有些标签仅适用于其中一种。标签库...

    Struts 2.0 UI标签实例程序

    UI标签库是Struts 2.0中的一个重要组成部分,它包含了多种用于渲染页面元素的标签,如表单、文本框、按钮、选择列表等。这些标签通过与Action类交互,能够动态地展示和处理用户输入的数据,实现前后端数据的绑定。 ...

    struts2jar包

    很多Struts2的功能都是基于XWork实现的。 3. **ognl.jar**:OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。在Struts2中,OGNL用于传递Action与视图之间的数据,...

    struts2 总结工程大全

    struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...

    swfupload java 上传进度条 上传时间 速度 struts2 开源

    SwfUpload 是一个开源的JavaScript库,用于在Web应用程序中实现文件上传功能,它与Java后端技术如Struts2框架结合使用,可以提供高级的文件上传体验。在这个项目中,SwfUpload 被用来展示文件上传的进度、速度以及...

    Struts2漏洞检查工具Struts2.2019.V2.3

    Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...

    Struts2漏洞测试

    Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    Struts2视频教程

    ### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的...希望本教程能帮助大家更好地理解和运用Struts2,为自己的项目带来更多的价值。

    jquery和struts2的整合

    **jQuery与Struts2整合详解** 在Web开发中,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。而Struts2是一个基于MVC设计模式的Java Web框架,用于构建可维护性和可扩展性高的...

    Struts2属性文件详解

    ### Struts2属性文件详解 #### struts.configuration 该属性用于指定加载Struts 2配置文件的配置文件管理器,默认值为`org.apache.struts2.config.DefaultConfiguration`,这是Struts 2默认的配置文件管理器。若...

    Struts2VulsTools-Struts2系列漏洞检查工具

    该工具的打开路径为:\Struts2VulsTools-2.3.20190927\Test\bin\Release\Text.exe 2019-09-25: 优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建...

Global site tag (gtag.js) - Google Analytics