我正在拍摄网页原型并实施它。原型大量使用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="\"http://www.w3.org/1999/xhtml\"" xml:lang="\"en\"" lang="\"en\"">
<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>
我得到的错误是:
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);
我是否需要构建一个特殊的Dojo构建才能访问这些dijit小部件?
答案 0 :(得分:1)
答案是因为Struts,就像我写这篇文章时最新版本的Struts 2.1.8.1一样,包括DOJO 0.4。 Dijit似乎是在Dojo 1.0之后的某个时候推出的。 (当前版本为1.4)。
与Struts一起使用的小部件库是Dojo.widget,它默认使用struts加载。