`
cscs31
  • 浏览: 27215 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何集成DOJO和Struts2

阅读更多
最近在做Dojo和Struts2的集成工作,主要目的是想使用Dojo相对强大的UI库,Struts2虽说可以集成Ajax,但是坛子里也有好多人都发现了,其实这一点是Struts2的败笔之一。所以,在集成dojo的时候我大致的思想是自定义一套自定义的标签来取代struts2的标签,但是在开发中还是遇到了一对后续开发的问题。
举个例子:
比如将Dojo的Grid封装成如下的tag
<my:grid jsId="grid" action="BizAction_listdata" width="35em"
			height="15em" pageSplit="true" layout="%{layout}" dataModel="%{list}"></my:grid>

在tag中将dojo的grid的加以扩展,包括server sort和client sort,分页处理等等。
但是大家都知道,如果你想使用dojo就需要写一些js在jsp中,那么问题就来了,虽说grid tag 封装了grid控件,但是后续开发的时候需要写一些dojo中grid的一些js的时候,程序员就很难入手了,因为从tag中很难看出是dojo的实现。
比如:
<s:form id="myform" action="BizAction_edit" namespace="/demo">
			<s:hidden id="selectedId" name="selectedId"></s:hidden>
	<button type="submit" dojoType="dijit.form.Button" id="editButton">
		Edit
		<script type="dojo/method" event="onClick">
                [b]//这里就使用了Grid的Js[/b]
		if(grid.selection.getSelectedCount() > 1){
                	alert("只能选择一项编辑");
                }else{
		        var id = grid.model.getRow(grid.selection.selectedIndex).id;
			dojo.byId("selectedId").value = id;
		}
            </script>
	</button>
</s:form>


我也不知道是否说清楚了我的问题,总之是觉得用tag实现似乎有些不妥,是不是从一开始的思想上就有问题呢?
分享到:
评论
4 楼 flowerdance 2008-06-26  
郁闷死个!学这个还要学dojo!强烈的不爽!
3 楼 java.fan 2008-06-26  
呵呵
我觉得struts2 使用dojo 是最大的败笔,
老实说,dojo确实很强大,这一点不可否认,

但当你正真用dojo的时候,你就觉得痛苦拉.dojo的东西,你没法改,
你要自定义些东西,还得先去研究dojo的代码, 确实费神又费时.
2 楼 cscs31 2008-05-21  
我现在已经写了一套dojo实现的标签,不过觉得还是挺别扭的,尤其是在页面如果再加入js的话就会觉得会有问题
1 楼 jason.zhu 2008-05-20  
虽说Struts2的AJAX 集成中已经包含的DOJO(version 0.4),但我试过,很不爽。
建议可以用新版DOJO扩展Theme,重写标签我觉得没必要

相关推荐

    struts2-dojo-plugin-2.2.1.jar

    Struts2-dojo-plugin-2.2.1.jar 是一个针对Apache Struts2框架的扩展插件,主要用于增强Struts2应用的用户界面交互性,特别是通过集成Dojo JavaScript库来提供丰富的AJAX功能和用户体验。这个插件是Struts2与Dojo ...

    struts2+dojo实现例子

    Struts2和Dojo是两种在Web开发中广泛使用的开源技术。Struts2是一个基于MVC(Model-View-Controller)架构模式的Java Web框架,它简化了开发过程,提供了强大的控制层支持。而Dojo则是一个JavaScript库,专注于前端...

    struts2-dojo-plugin-2.3.15.3.jar.zip

    Struts2 Dojo Plugin是Apache Struts框架的一个扩展,它为...对于新项目,可能更推荐使用最新版本的Struts2和Dojo,或者考虑其他现代的前端框架,如React、Angular或Vue.js,它们提供了更先进的功能和更好的社区支持。

    struts2.0整合Struts 1

    7. **插件架构**:Struts 2的插件体系使得扩展和定制变得简单,如 strut2-dojo-plugin 提供了与Dojo JavaScript库的集成。 整合Struts 1和Struts 2涉及到的主要工作包括: 1. **Action映射**:将Struts 1的Action...

    struts2jar包

    5. **struts2-plugins*.jar**:Struts2有许多插件,如struts2-dojo-plugin.jar用于与Dojo库集成,提供富客户端功能;struts2-junit-plugin.jar则帮助进行单元测试。这些插件根据实际需求选择引入。 6. **其他依赖的...

    struts2全部的jar包

    - `struts2-dojo-plugin.jar`:用于集成Dojo库,增强前端交互能力。 - `struts2-json-plugin.jar`:支持JSON格式的数据交换,方便前后端异步通信。 - `xwork-core.jar`:Struts2基于XWork框架,提供了许多实用...

    struts2所有jar包程序文件

    5. `struts2-convention-plugin.jar`和`struts2-spring-plugin.jar`:分别是约定优于配置插件和Spring集成插件,前者简化了Action配置,后者则帮助将Struts2与Spring容器整合。 6. `struts2-dojo-plugin.jar`和`...

    Struts2 Struts2 超好的Struts2 pdf 文档

    8. **插件**:Struts2有一个丰富的插件生态系统,如Struts2 Dojo Plugin提供了与Dojo JavaScript库的集成,Struts2 jQuery Plugin提供了与jQuery的集成,极大地丰富了前端交互功能。 9. **异常处理**:Struts2提供...

    struts2的各种jar包

    11. **开发工具集成**:Eclipse、IntelliJ IDEA等IDE都有Struts2的插件,可以帮助开发者更便捷地创建和调试Struts2应用。 12. **安全性**:Struts2历史上曾出现过一些安全漏洞,如著名的CVE-2017-5638(Struts2远程...

    struts2-dojo-plugin-2.2.3.1.zip_key_可用struts的ajax支持插件

    为了在Struts2中集成AJAX功能,开发者通常需要借助特定的插件,比如我们这里提到的"struts2-dojo-plugin-2.2.3.1"。 "struts2-dojo-plugin-2.2.3.1.zip_key_可用struts的ajax支持插件"这个标题表明,这个压缩包提供...

    struts2所需的包和Struts2_json所需包

    而Struts2与JSON的集成则进一步增强了其功能,使得数据交换更为简洁,特别是在AJAX和移动应用中。 在标题和描述中提到的"struts2所需的包和Struts2_json所需包",主要是指为了实现Struts2框架与JSON数据交互所需要...

    dojo相关的js

    在Struts2中集成Dojo,通常需要配置Struts2的ACTION结果类型来支持Dojo的JSON响应。这样做可以让Struts2动作返回JSON格式的数据,便于Dojo的AJAX请求处理。同时,还可以利用Dojo的Data Stores(数据存储)和Widgets...

    Struts2的视频学习代码

    7. **插件(Plugins)**:Struts2有许多内置和第三方插件,如Struts2-dojo-plugin(提供Dojo库的支持),Struts2-json-plugin(支持JSON响应),它们扩展了Struts2的功能。 8. **Action上下文(ActionContext)**:...

    Struts2全部jar包

    6. **插件体系**:Struts2支持丰富的插件,如Struts2-convention-plugin(基于约定的配置)、Struts2-dojo-plugin(Dojo库集成)、Struts2-json-plugin(JSON支持)等,方便开发者快速实现特定功能。 7. **Tiles...

    struts2jar包.zip

    - `struts2-dojo-plugin.jar`:集成Dojo JavaScript库,提供富客户端UI组件。 - `struts2-json-plugin.jar`:支持JSON格式的数据交互,便于前后端Ajax通信。 - `struts2-tiles-plugin.jar`:集成Tiles框架,用于...

    struts2 API帮助文档

    - Struts2支持多种插件来扩展功能,如Struts2-dojo-plugin用于富客户端交互,Struts2-convention-plugin简化配置,Struts2-spring-plugin集成Spring框架等。 8. **国际化(Internationalization, i18n)与本地化...

    struts1和struts2中文教程

    6. **Tiles集成**:Struts2内置了对Tiles的支持,使得布局和视图管理更加方便。 7. ** strut2-dojo-plugin**:提供了与Dojo JavaScript库的集成,便于创建富客户端应用。 通过这两个教程,你可以了解到Struts1和...

    struts2-dojo-tree各种实例

    首先,了解Struts2和Dojo库的基础知识是必要的。Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建Java Web应用程序。它提供了丰富的功能,如拦截器、结果类型、插件体系等,使开发过程更加便捷。而...

    Struts2——教程

    Struts2具有丰富的插件库,如Tiles插件用于布局管理,JSON插件支持JSON数据交互,Dojo插件集成Dojo JavaScript库,提供AJAX功能。 八、异常处理 Struts2提供了一种优雅的方式来处理应用程序中的异常。通过全局异常...

Global site tag (gtag.js) - Google Analytics