dojo和java服务器交互,注意,不管跟哪种语言接上去,都不重要,
重要的是
- dojo要什么样的数据
- 服务器要什么样的数据
- 他们怎么沟通
经常有人问什么extjs和ssh实例什么的,所以才被上这个重要的提示,如果你是跟servlet交互,个人觉得更容易,out.print把数据输出就可以,更简单
首先就是一个model和数据库
Category.java()
Category.hbm.xml
数据库脚本:
/*Table structure for table `category` */ DROP TABLE IF EXISTS `category`; CREATE TABLE `category` ( `id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(255) DEFAULT NULL,`url` varchar(255) DEFAULT NULL,`isFolder` bit(1) DEFAULT NULL,`pid` int(11) DEFAULT NULL,`viewUrl` varchar(255) DEFAULT NULL,`sortingCode` int(11) DEFAULT NULL,PRIMARY KEY (`id`),KEY `FK302BCFED3B107E4` (`pid`),CONSTRAINT `FK302BCFED3B107E4` FOREIGN KEY (`pid`) REFERENCES `category` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; /*Data for the table `category` */ insert into `category`(id,title,url,isFolder,pid,viewUrl,sortingCode) values (1,'管理菜单',NULL,'',2010),(2,'景点大全',1,(3,'热门活动','',20100107),(4,'驴客集','AAA',(5,'旅游政务资讯',8,(6,'武汉赛车协会',(7,'大武汉城市圈',(8,'特色专栏',(9,'旅游常识',(10,'各地指南',(11,'旅行社',(12,'旅游线路',(13,'活动分类','classifyDefault.action',3,(14,'活动管理','activityDefault.action',(15,'旅游线路分类',12,(16,'旅游线路管理',(17,'吃喝玩乐',20100107);
其次就是action和struts.xml配置
CategoryAction.java
struts.xml
<include file="com/flexoa/config/struts/struts-category-tree.xml" />
category-struts.xml
再就是html页面
至此dojo树的读取服务器数据、修改并提交到服务器、删除树、添加并提交到服务器成功完成,
这里要注意
添加的时候 id值如果不对就会失败,随便插入一个id就可以解决,我用的id : lastBoxSelected.id+highestBoxId+0,
修改的时候自己指定的id和服务器(存储到数据库)的id不一样,造成了按ID就无法修改的问题,因为ID是错误的,
或都在插入的时候把ID返回,重新插入到store里面
呵呵。完全解决-
最后修改了一下JS:
最终HTML
最终JS
原文链接:/dojo/291820.html