一、首先介绍几个学习的资源,主要是根据这些来探索JMaki:
1. 一个使用yahoo table实现crud的视频:http://weblogs.java.net/blog/arungupta/archive/2007/11/screencast_web1.html
视频中的Blog地址:http://weblogs.java.net/blog/arungupta/archive/2007/11/totd_15_deleteu.html
2. 使用Ejb实现CRUD:http://weblogs.java.net/blog/carlavmott/archive/2008/08/getting_server.html
3. Jmaki Samples:http://jmaki.com/jmaki/index.php
4. LAB-4270:使用jMaki 技术构建Web 2.0/Ajax 应用程序: http://developers.sun.com.cn/javapassion/handsonlabs/ajax/ajaxjmakiintro.htm
二、个别控件的实现
1.JMaki Log 的使用:在网页编辑页面时,右击选择Jmaki->log Level->all
即可在网页运行时查看log,通过这个可以找到各个组件事件的触发顺序,找到运行机制,从而实现自己预期的Ajax功能
2.使用 Jamki yahoo.tree 实现全站导航功能:
使用 JMaki Log 找到当Tree的节点被点击时触发的函数:yahoo/tree/component.js this.tree.subscribe("labelClick", function(node){...})
可以在yahoo.tree->action ->topic 部分改为将要跳转的URL
然后在这里添加用于跳转的JS-> window.location.href=node.action.topic,这样既可实现网页跳转
3.动态加载dojo.dijit.combobox、yahoo.dataTable中的下拉选项:
删除默认添加的Value属性,在service 属性中指定jsp或者servlet( service="xxx.jsp" 或者 service="xxx.do"),jsp ,servlet输出流拼接成value属性,即拼接后的输出为(value="[
{label : 'Alabama', value : 'AL'},
{label : 'California', value : 'CA'},
{label : 'New York', value : 'NY', selected : true},
{label : 'Texas', value : 'TX'}
]" 此处属性为combobox 属性,dataTable基本雷同,所以不再赘述),可以使用次此方法动态加载多种控件的值.
4.使用yahoo.simpledlg,提供提示:1.出错提示
2.确定操作提示
在glue.js文件中根据Jmaki log得到的日志可以找到触发的事件,在事件中写上相应的代码即可