论坛首页 Java企业应用论坛

如何集成DOJO和Struts2

浏览 5862 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-28  
最近在做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实现似乎有些不妥,是不是从一开始的思想上就有问题呢?
   发表时间:2008-05-20  
虽说Struts2的AJAX 集成中已经包含的DOJO(version 0.4),但我试过,很不爽。
建议可以用新版DOJO扩展Theme,重写标签我觉得没必要
0 请登录后投票
   发表时间:2008-05-21  
我现在已经写了一套dojo实现的标签,不过觉得还是挺别扭的,尤其是在页面如果再加入js的话就会觉得会有问题
0 请登录后投票
   发表时间:2008-06-26  
呵呵
我觉得struts2 使用dojo 是最大的败笔,
老实说,dojo确实很强大,这一点不可否认,

但当你正真用dojo的时候,你就觉得痛苦拉.dojo的东西,你没法改,
你要自定义些东西,还得先去研究dojo的代码, 确实费神又费时.
0 请登录后投票
   发表时间:2008-06-26  
郁闷死个!学这个还要学dojo!强烈的不爽!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics