Struts2是一个基于MVC设计模式的Web应用框架,而jQuery是一个快速、简洁的JavaScript框架。结合两者可以创建动态的树形结构,常用于展示层级数据。
public class TreeAction extends ActionSupport {
private List<TreeNode> nodes;
public String loadTree() {
nodes = new ArrayList<>();
// 添加根节点
nodes.add(new TreeNode("1", "0", "Root Node", false, true));
// 添加子节点
nodes.add(new TreeNode("2", "1", "Child Node 1", true, false));
nodes.add(new TreeNode("3", "1", "Child Node 2", true, false));
return SUCCESS;
}
// getter和setter
}
public class TreeNode {
private String id;
private String parent;
private String text;
private boolean children;
private boolean opened;
// 构造方法、getter和setter
}
<action name="treeAction" class="com.example.TreeAction">
<result name="success" type="json">
<param name="root">nodes</param>
</result>
</action>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Struts2 + jQuery Tree Demo</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/themes/default/style.min.css" />
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/jstree.min.js"></script>
</head>
<body>
<div id="tree-container"></div>
<script>
$(function() {
$('#tree-container').jstree({
'core': {
'data': {
'url': 'treeAction!loadTree.action',
'dataType': 'json',
'data': function(node) {
return { 'id': node.id };
}
}
}
});
});
</script>
</body>
</html>
原因:
解决方案:
原因:
解决方案:
原因:
解决方案:
$('#tree-container').jstree({
'core': {
'data': {
'url': 'treeAction!loadTree.action'
}
},
'checkbox': {
'keep_selected_style': false
},
'plugins': ['checkbox']
});
$('#tree-container').jstree({
'core': {
'data': {
'url': 'treeAction!loadTree.action'
},
'check_callback': true
},
'plugins': ['dnd']
});
$('#tree-container').jstree({
'core': {
'data': {
'url': 'treeAction!loadTree.action',
'data': function(node) {
return { 'id': node.id };
}
}
},
'plugins': ['types'],
'types': {
'default': {
'icon': 'jstree-file'
},
'folder': {
'icon': 'jstree-folder'
}
}
});
通过以上方法和示例,您可以在Struts2项目中成功集成jQuery树插件,实现各种树形结构的展示和交互功能。
没有搜到相关的文章