当数据库建好后,又有一个问题摆在面前了,关于树形菜单的搭建及显示,java中,有现成的组件可供使用,那就是zTree,
http://www.ztree.me/v3/main.php#_zTreeInfo,刚开始接触的时候完全不知道怎么下手,不过在下载的文件中提供了很多模板可供使用,使用之前需要导入js包,jquery.ztree.core-3.5.js。拿到模板的时候发现,它所有的节点都是写在js中的,从模板中也不难发现,它的结构就是通过id和PID来确定这种层级关系的,但是我需要的是要能够从数据库
中动态的读取我想要的节点,这时我发现ztree支持json数据传输格式,
这个是ztree的配置的一部分,其中view主要用于配置显示的效果,showline:是否显示虚线,showIcon:是否显示图标。。。callback为回调函数,
像上面的onclick函数,就是点击ztree 的节点给出的反馈,当然这其中可以使用Ajax异步加载传到servlet中进行相关的业务操作。
同样是调用response中的方法,不过这里要把要回传的数据封装成json的形式,需要import
net.sf.json.JSONArray,但是json形式的数据要满足{id:1, pId:0, name:"test1"}的形式,其中name的值一定要加“”才能分辨name:"+"\""+category2.getName()+"\"".
这时回到success函数中,把以json形式返回的data放到treeNodes(这应该不能改)中方可显示。至此,关于ztree的节点动态加载,及右边页面显示的问题先是解决了,目前自己对于ztree的了解也不是很多,只是有个大概的了解。