如上图,布局使用jquery easyUI做的,右侧的树形菜单是使用jquery ztree做的,现在我想实现一个功能,为什么每次我点击树节点都是,在浏览器新打开一个tab页签呢,我想实现当点击右侧菜单时,在主页面创建一个tab页签怎么做?请在我代码基础上完善。
我的jsp页面代码如下:
var ztree;
var setting = {
data: {
simpleData: {
enable: true
},
callback: {
beforeClick:function(e, treeId, treeNode){
alert(treeId);
var url = treeNode.url;
alert(url);
}
}
}
};
$(function(){
$.getJSON('${thisPath}/menu/init.do',{id:'0'},function(data){
data=eval(data);
zTree=$.fn.zTree.init($("#menu"), setting, data);
});
});
</html>
java代码如下:
/**
* 加载菜单
* @author Chris Suk
* @date 2014-4-22 下午10:13:57
* @param request
* @param ioc
*/
@At("/menu/init")
@Ok("json")
// 返回形式是jsp
public String init(HttpServletRequest request, Ioc ioc) {
String nodes="[{id:'0', pId:0, name:'系统菜单',url:'', open:true,isParent:true},";
try {
List<MenuModel> list = this.menuService.initialize();
if(!list.isEmpty()){
for(MenuModel model : list){
nodes+="{id:'"+model.getId()+"', pId:'"+model.getPid()+"', name:'"+model.getName()+"',url:'"+model.getUrl()+"', target:'main', open:true},";
}
}
if(nodes.length()>1&&nodes.endsWith(",")){
nodes=nodes.substring(0, nodes.length()-1);
}
nodes+="]";
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(nodes);
return nodes;
}
红颜莎娜
相关分类