在带有DOJO插件的Struts2应用程序中使用dijit小部件有什么特殊要求吗?

在带有DOJO插件的Struts2应用程序中使用dijit小部件有什么特殊要求吗?,struts2,dojo,Struts2,Dojo,我正在制作一个网页原型并实现它。原型大量使用DOJO来实现一些奇特的UI元素。该应用程序是使用Struts 2.1.8.1构建的,启用了DOJO插件。我能够在struts中使用dojo特定的标记,但是我无法让任何dijit小部件工作 <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix="sx" u

我正在制作一个网页原型并实现它。原型大量使用DOJO来实现一些奇特的UI元素。该应用程序是使用Struts 2.1.8.1构建的,启用了DOJO插件。我能够在struts中使用dojo特定的标记,但是我无法让任何dijit小部件工作

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>

<html xmlns="\&quot;http://www.w3.org/1999/xhtml\&quot;" xml:lang="\&quot;en\&quot;" lang="\&quot;en\&quot;">

<head>
    <sx:head parseContent="true" />
    <script type="text/javascript"> 
dojo.require("dijit.Dialog");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.TextBox");
dojo.require("dijit.form.DateTextBox");
dojo.require("dijit.form.TimeTextBox");
dojo.require("dijit.form.Slider");
dojo.require("dijit.Menu");
       dojo.require("dijit.layout.AccordionContainer");    
       dojo.require("dojox.charting.Chart2D");
       dojo.require("dojox.charting.themes.PlotKit.blue");
       dojo.require("dojox.charting.themes.PlotKit.orange");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.SplitContainer");
dojo.require("dijit.form.DateTextBox");
dojo.require("dijit.Tooltip");
   </script>

我需要对Dojo进行特殊构建才能访问这些dijit小部件吗?

答案是因为struts,最新版本struts 2.1.8.1,包括Dojo 0.4。Dijit似乎是在Dojo1.0之后引入的。(当前版本为1.4)


与Struts一起使用的小部件库是Dojo.widget,默认情况下会与Struts一起加载。

答案是,Struts最新版本Struts 2.1.8.1包括Dojo 0.4。Dijit似乎是在Dojo1.0之后引入的。(当前版本为1.4)


与Struts一起使用的小部件库是Dojo.widget,默认情况下,它与Struts一起加载。

Dojo 0.4大约有3年历史。你绝对应该试着使用Dijit。如果您避免Struts过时的Dojo集成,您可能只需要直接包含Dojo(但由于名称空间冲突,您不能同时使用这两个)我决定直接包含Dojo,而不使用任何Struts ajax标记,只需编写我自己的javascript。Dojo 0.4大约有3年历史了。你绝对应该试着使用Dijit。如果您避免Struts过时的Dojo集成,您可能只需要直接包含Dojo(但由于名称空间冲突,您不能同时使用这两个),我决定直接包含Dojo,而不使用任何Struts ajax标记,只编写我自己的javascript。
GET http://localhost:9080/quickstart/struts/dijit/Dialog.js
GET http://localhost:9080/quickstart/struts/dijit/Dialog.js 
404 Not Found

struts_dojo.js (line 769)
GET http://localhost:9080/quickstart/struts/dijit.js
GET http://localhost:9080/quickstart/struts/dijit.js
404 Not Found

struts_dojo.js (line 769)
ParamsHeadersPostPutResponseCacheHTML
Error 404: Error reported: 404

GET http://localhost:9080/quickstart/struts/dojo/__package__.js
GET http://localhost:9080/quickstart/struts/dojo/__package__.js
404 Not Found

struts_dojo.js (line 769)
ParamsHeadersPostPutResponseCacheHTML
Error 404: Error reported: 404

Could not load 'dijit.Dialog'; last tried '__package__.js'
[Break on this error] throw _13||Error(_12);