日期:2014-05-17  浏览次数:20644 次

dojo使用时,如果把页面放入子目录中css虽然能加载,但不起作用,有没有好的解决办法?(我已经解决)

我照着一个demo做了个小例子,就是显示一个对话框。

如果把页面放在网站根目录下,而dojo,我是在网站根目录下建立了个js文件夹,把dojo和dijit放在了里面。

index.jsp我放在根目录下:代码如下:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <style type="text/css">
            @import "js/dijit/themes/nihilo/nihilo.css";
            @import "js/dojo/resources/dojo.css";
            html,body{
                margin:0px;
                font-size: 12px;
            }
        </style>
        <script type="text/javascript" src="js/dojo/dojo.js" djConfig="parseOnLoad: true,isDebug: false"></script>
        <script type="text/javascript">
            dojo.require("dijit.form.Button");
            dojo.require("dijit.Dialog");
            dojo.require("dojo.parser");
        </script>
    </head>
    <body class="nihilo">
        <button dojoType="dijit.form.Button" id="loginbtn">DialogDemo
            <script type="dojo/method" event="onClick">
                dijit.byId('loginDialog').show();
            </script>
        </button>

        <div dojoType="dijit.Dialog" id="loginDialog" title="DialogDemo" onClose="alert('yyyy');">
            在这里输入HTML在这里输入HTML在这里输入HTML在这里输入HTML<br>
            在这里输入HTML在这里输入HTML在这里输入HTML在这里输入HTML<br>
            在这里输入HTML在这里输入HTML在这里输入HTML在这里输入HTML<br>
        </div>
    </body>
</html>

?

或者我加上

<%
??????????? String path = request.getContextPath();
%>

明确的告知其存放路径。 这两种情况都可以工作。

而把index.jsp放在子一级目录,比如我在根目录下建立一个mypage目录,把index.jsp挪动进去,

无论怎么给它路径,包含明确地告知它(<%=path%>/js/dojo/dojo.js),还是使用相对目录(../js/dojo/dojo.js)

js倒是可以正常工作,就是css样式,,按钮的部分可以显示,就是那个对话框无论如何都是不起作用。

?

不知道大家有没有遇到这种情况,有的话,是如何处理的呢?

有否给点使用dojo的小技巧呢?

?

?

?

我建立第2个页面以后,我拷贝了相关内容,可是万万没想到我丢了一个地方,就是:

<body class="nihilo">
见蓝色部分,我把这个主题给丢了,造成老是不显示样式,我用firefox看了半天,css也加载了,js功能也正常,就是css样式不显示,原来问题在这。

希望和我一样的新手,不要犯这个错误。

1 楼 wsc830719 2010-03-17  
我用了把 accordion组件。
我把height设成100%,这下可好,点击一个标签,结果只能看见第一个了,其他的ContentPane不知道全跑哪去了。 而且cpu一下 100%,我只好结束IE。

我昨天查了下百度,有些文章说dojo的性能不怎么好,尤其cpu这方面,据说加载时以及偶尔cpu会100%。
  我做的这个第2个例子,就碰到了。我这个帖子发了也有2天了,大家看看,随便发点想法吧。 尤其在用dojo的,觉得dojo怎么样?
2 楼 wsc830719 2010-03-19  
实在 忍不了了。
我弄到 Grid那块了。  但是他给的文档实在太可怜了。网上的例子,不知道是0.几的还是多少的,不能工作。 研究了半天文档,也没弄好Grid显示数据。

我怀疑dojo是不是设计给大众用的,文档太少了。
我就看重它全面这点了,我一直喜欢jquery的,不过他的插件必须自己挑选,不过jquery的文章以及示例都太好找了。 就连插件自身都给完整的例子。

而反观dojo,太失望了。可惜我把页面都弄好了,包括 accrodion  tab容器,这整个布局都弄好了,就到Grid这,实在不想用了,文档这么少,以后遇到问题我去哪解决呀。
3 楼 wsc830719 2010-03-20  
还是Google上面的例子多,光顾着着急用百度了。

可见我们国人用dojo的太少了,百度上搜了一晚上,全是那2、3个例子来回发表,每个新鲜的。  今天早上起来看见收藏夹里的Google,搜搜看了看,好多例子。

看来遇到事情不能太心急,心急吃不到热豆腐,呵呵。
4 楼 wsc830719 2010-03-20  
还有 dojo下载的地方,有个2M的 ,是干净的部署用的js库,
下面有个19M的,当前是1.4.2版本,这里面有测试例子,很全面的。
比书籍之类的都好用。 大家用不着从网上找琐碎的例子了,这里全有,而且是针对当前版本的。

希望和我一样的初学者少走弯路。
5 楼 mikehuhu 2010-04-07