今天在s2sh框架下面做了一个Ext的异步树,可是发现只有第一树加载的时候向服务器请求,之后就再也没有请求了,不过监听的事件还是执行。这个问题折磨了我大半天时间。最后有一们仁兄写的例子让我明白了Struts2.0与Struts2.1是不一样的。因为我比较菜所以不一样的地方在研究!帖上我的代码为我保留! :D
后台Action
页面
我的PO
昨天有人告诉我还有一种情况就是我定义的TreeVo这个类把children这个数子节点数组删除就好使了!我使了一下果然好使了!但是不知道为什么?有人了帮着解请说明一下!
后台Action
public String loadTree() {
HttpServletRequest request = ServletActionContext.getRequest();
String nodeId = request.getParameter("pid");
TreeDao treeDao = new TreeDao();
try {
menusList = treeDao.queryTop(nodeId);
} catch (Exception e) {
e.printStackTrace();
}
return "loadTree";
}
页面
Ext.onReady(function(){
//从本地加载树的图片
Ext.BLANK_IMAGE_URL = 'ext3/resources/images/vista/s.gif';
var Tree = Ext.tree;
var tree = new Tree.TreePanel({
el:'tree-div',
rootVisible:true, //隐藏根节点
border:true, //边框
animate:true, //动画效果
autoScroll:true, //自动滚动
enableDD:false, //拖拽节点
containerScroll:true,
height:400,
loader: new Tree.TreeLoader({
})
});
// set the root node
var root = new Tree.AsyncTreeNode({
text: '父亲',
draggable:false,
id:'0'
});
tree.setRootNode(root);
tree.on('beforeload',
function(node)
{
tree.loader.dataUrl='testAction!loadTree.action?pid='+node.id
//tree.loader.dataUrl='treedata3.txt'
});
// render the tree
tree.render();
root.expand();
//展开树的所有节点,有一些特殊需求会要求我们一次展开所有的节点,传true
//root.expand(true);
//只展开根节点
root.expand();
});
我的PO
public class TreeVo implements Serializable{
private String id;
private String text;
private String hrefTarget = "_blank";
private boolean leaf;
private List<TreeVo> children;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public List<TreeVo> getChildren() {
return children;
}
public void setChildren(List<TreeVo> children) {
this.children = children;
}
public boolean isLeaf() {
return leaf;
}
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}
public String getHrefTarget() {
return hrefTarget;
}
public void setHrefTarget(String hrefTarget) {
this.hrefTarget = hrefTarget;
}
}
昨天有人告诉我还有一种情况就是我定义的TreeVo这个类把children这个数子节点数组删除就好使了!我使了一下果然好使了!但是不知道为什么?有人了帮着解请说明一下!
作者在使用s2sh框架下实现Ext异步树时遇到仅首次加载的问题。通过调整Struts版本并修改TreeVo类,成功解决了后续节点无法加载的情况。

1065

被折叠的 条评论
为什么被折叠?



