当前位置 : 主页 > 网页制作 > Dojo >

2012年9月第4周(09.24-09.30)

来源:互联网 收集:自由互联 发布时间:2021-06-15
1.用Tomcat发布网站 由于以前都是学微软的东西,只会在IIS上发布,没接触过Tomcat,所以对于Java体系我还是菜鸟一个,今天用Tomcat第一次发布了网站,记录一下。 我要发布的网站的路径

1.用Tomcat发布网站

由于以前都是学微软的东西,只会在IIS上发布,没接触过Tomcat,所以对于Java体系我还是菜鸟一个,今天用Tomcat第一次发布了网站,记录一下。

我要发布的网站的路径如下所示:




在Tomcat配置文件夹apache-tomcat-6.0.20->conf下有一个server.xml配置文件,打开该文件,找到文件最末端的</Host>,然后在其上方加入

<Context path="/MySite" docBase="E:\work\geoq\project\SiteSelection\WebContent" />,其中path表示虚拟目录,docBase表示虚拟 目录所映射的物理路径,然后通过apache-tomcat-6.0.20->bin下的startup批处理文件就可以手动启动Tomcat,手动启动成功后这样就可以通过http://localhost:8080/MySite来访问发布的网站了。


2.在书写<div></div>格式时,不要写成<div />这种形式,有可能发生错误。


3.在判断某项属性是否存在时,要使用a.b == undefined的形式,不要使用a.b == "undefined"


4.在使用dojo设置样式时,要写成这种形式dojo.style(domNode,"height","50px"); 最后不能写成数字


5.移除字符串str中的回车符,可以使用.replace(String.fromCharCode(13),"")


6.dojo小部件的postCreate中不能访问子小部件,但是可以再startup中访问


7.通过CSS设置字体垂直居中时,设置的是line-height而不是inline-height,没有inline-height这个样式属性


8.已知attributes={},name="姓名",value="iSpring",如果想让attributes增加一个"姓名"属性,其值为“iSpring”,可以通过这样设置attributes[name]=value,不要写成attributes.name = value否则会变成{name:"iSpring"}


9.自定义一个widget:SettingTool,该widget继承了dijit._Widget, dijit._Templated, dijit._Container, dijit._Contained,该SettingTool的模板文件是一个<div></div>,该<div></div>内部是一个标记的TabContainer,TabContainer中又有几个ContentPane作为Tab,用js代码创建一个SettingTool并将其加入到一个dijit.Dialog中,结果Dialog中的内容显示不正确,解决这一问题的方法是:在TabContainer中加入以下内容doLayout="false" controllerWidget="dijit.layout.TabController"。SettingTool的模板文件如下:

<div class="settingToolContainer">
    <div dojoAttachPoint="mainTabContainer" id="mainTabContainer" dojoType="dijit.layout.TabContainer" doLayout="false" controllerWidget="dijit.layout.TabController">
        <div id="tab1" dojoType="dijit.layout.ContentPane" title="语言">
            <div style="text-align: center;">
                <input name="language" type="radio" checked="true" />中文
                <input name="language" type="radio" />English
            </div>
        </div>
        <div id="tab2" dojoType="dijit.layout.ContentPane" title="线符号">
            <table>
                <tr>
                    <td>
                        <label>宽度:</label>
                    </td>
                    <td>
                        <input dojoAttachPoint="lineWidth" type="text" value="2"/>
                    </td>
                </tr>
            </table>
        </div>
    </div>
</div>


10.domNode.addEventListener('webkitAnimationEnd', AnimationEnd, false);用这种方式为CSS3动画添加回调函数


11.在ArcGIS JS API中可以通过map.container访问承载map的div


12.a.odd表示classNameodda节点


13.有时候使用dojo.dnd.Moveable创建自定义的可以移动的widget的时候, 如果里面有滚动条,那么只要一单击滚动条就使得小部件的移动不受控制。此时可以考虑用dojox.layout.FloatingPane作为替代。在GeoWeb2.0 P61Chapter02\Sample2-1\content_panes.htm


14.用连续空格拆分字符串

var str="Is this all there is?";

var patt1=/\s+/g;

str.split(patt1);

["Is", "this", "all", "there", "is?"]

s+表示一连串的空格


15.在开发dojo小部件的时候,如果在模板文件的某个dom节点要包含图片,那么一定要注意图片的路径,图片的路径最好通过dojo.moduleUrl来设置,类似于用dojo.moduleUrl设置templatePath,具体设置代码如下:

path = dojo.moduleUrl("gistech.widgets.layersMapsControl","images/right_arrow.png").path;   
dojo.style(icon,"background","url("+path+")");
需要注意的是,dojo.moduleUrl返回的不是字符串,而是object,需要通过返回值的path属性得到字符串路径。在dojo1.6中还可以使用dojo.moduleUrl,从dojo1.7开始dojo.moduleUrl被require.toUrl取代,详见 http://dojotoolkit.org/reference-guide/1.7/dojo/moduleUrl.html


16.Dojo提供了两种方法来删除节点:dojo.destory会删除一个节点和其所有的子节点,而dojo.empty将只删除一个节点的子节点。这两种方法都接受一个DOM节点或是一个节点的ID作为参数。


17.利用dojo.create创建domNode

dojo.create("li", {  
	        innerHTML: "Seven",  
	        className: "seven",  
	        style: {  
	            fontWeight: "bold"  
	        }  
	    }, list); 


18.">".  CSS中使用">"并不被所有浏览器支持,但是在dojo.query中却可以通用

// 获取任意一个有li节点作为其父节点的a节点  

 var allA = dojo.query("li a");  

 // 获取任意一个有li节点作为其直接父节点的a节点  

var someA = dojo.query("li > a");  


19.

dojo.addClass(node, "red");  

dojo.query(".odd").addClass("red");  

其他dojo.NodeListDOM操作方法还包括: style, toggleClass,replaceClass, place empty.所有这些方法都会返回dojo.NodeList,供串联使用.


20.postCreate是widget中的方法,如果不是widget,那么不会有此方法


21.Uncaught Could not load cross-domain resources: iSpring.widgets.son.Son

无法加载dojo小部件的几个可能的原因:

a.dojo.provide、dojo.require、dojo.declare、_module可能会将小部件的名字写错,要仔细检查,比如讲iSpring写成了iSpirng

b.没有正确继承父类,检查dojo.declare中所应该集成的父类

c.没有正确设置好模板文件导致的,比如将templateStirng写成了templateStirng

网友评论