Srs(a),
Estou tentando aprender como funciona o plugin struts2-jquery-tree-plugin com o exemplo do proprio site.
Quando clico no nó da árvore, o navegador abre o json, criado na action, como texto. Não é “processado” como
se fosse novos nós. O jsp estaria incompleto?
jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<%@ taglib prefix="sjt" uri="/struts-jquery-tree-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<sjt:tree>
<s:url id="treeDataUrl" action="jsonTreeData"/>
<sjt:treeItem
title="json1"
id="jsonTree"
href="%{treeDataUrl}"
onClickTopics="treeClicked"
/>
</sjt:tree>
</body>
</html>
java action
@ParentPackage( value="json-default")
public class JsonTreeDataAction {
private List<TreeNode> nodes = new ArrayList<TreeNode>();
private String id = "";
@Action(value = "jsonTreeData", results = {
@Result(name = "ok", type = "json", params = {
"root", "nodes" })
})
public String execute() {
System.out.println("ACTION");
TreeNode nodeA = new TreeNode();
nodeA.setId("A" + id);
nodeA.setTitle("Node A" + id);
nodeA.setState(TreeNode.NODE_STATE_CLOSED);
TreeNode nodeB = new TreeNode();
nodeB.setId("B" + id);
nodeB.setState(TreeNode.NODE_STATE_CLOSED);
nodeB.setTitle("Node B" + id);
TreeNode nodeC = new TreeNode();
nodeC.setId("C" + id);
nodeC.setState(TreeNode.NODE_STATE_CLOSED);
nodeC.setTitle("Node C" + id);
nodes.add(nodeA);
nodes.add(nodeB);
nodes.add(nodeC);
return "ok";
}
public String getJSON() {
return execute();
}
public List<TreeNode> getNodes() {
return nodes;
}
public void setId(String id) {
this.id = id;
}
}
Desde já agradeço,