<%!
<T> List<T> makeList(final List<T> list, final T... values) {
for (T value : values) {
list.add(value);
}
return list;
}
<T> Map<String, T> makeMap(final Map<String, T> map, final Map.Entry<String, T>... entries) {
for (final Map.Entry<String, T> entry : entries) {
map.put(entry.getKey(), entry.getValue());
}
return map;
}
%>
<imui:tree parameter="<%= makeMap(new HashMap<String, Object>(), new HashMap.SimpleEntry("plugins", makeList(new ArrayList<String>(), "ui", "themes", "html_data"))) %>" url="sample/tree/ajax.jsp" />
<%!
<T> List<T> makeList(final List<T> list, final T... values) {
for (T value : values) {
list.add(value);
}
return list;
}
<T> Map<String, T> makeMap(final Map<String, T> map, final Map.Entry<String, T>... entries) {
for (final Map.Entry<String, T> entry : entries) {
map.put(entry.getKey(), entry.getValue());
}
return map;
}
%>
<imui:tree parameter="<%= makeMap(new HashMap<String, Object>(), new HashMap.SimpleEntry("plugins", makeList(new ArrayList<String>(), "ui", "themes", "html_data"))) %>" url="sample/tree/ajax.jsp" />
JSP(sample/tree/ajax.jsp)
<%!
<T, U extends T> List<T> makeList(final List<T> list, final U... values) {
for (final U value : values) {
list.add(value);
}
return list;
}
<T> Map<String, T> makeMap(final Map<String, T> map, final Map.Entry<String, ? extends T>... entries) {
for (final Map.Entry<String, ? extends T> entry : entries) {
map.put(entry.getKey(), entry.getValue());
}
return map;
}
<T> Map.Entry<String, T> makeEntry(final String key, final T value) {
return new AbstractMap.SimpleEntry(key, value);
}
List<Map<String, Object>> buildList(final String nodeIdentity) {
if (nodeIdentity == null) {
final Map<String, Object> node1 = makeMap(
new HashMap<String, Object>(),
makeEntry("identity", "node1"),
makeEntry("label", "ノード1"),
makeEntry("classNames", makeList(new ArrayList<String>(), "ClassName1", "ClassName2")),
makeEntry("rel", "TypeA"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode1"),
makeEntry("data-certain-attribute1", "attribute-value1"),
makeEntry("data-certain-attribute2", "attribute-value2")
))
);
final Map<String, Object> node2 = makeMap(
new HashMap<String, Object>(),
makeEntry("identity", "node2"),
makeEntry("label", "ノード2"),
makeEntry("classNames", makeList(new ArrayList<String>(), "jstree-closed", "ClassName2")),
makeEntry("rel", "TypeB"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode2"),
makeEntry("data-certain-attribute2", "attribute-value3")
))
);
return makeList(new ArrayList<Map<String, Object>>(), node1, node2);
} else if (nodeIdentity.equals("ThisIsNode2")) {
final Map<String, Object> node = makeMap(
new HashMap<String, Object>(),
makeEntry("identity", "node3"),
makeEntry("label", "ノード3"),
makeEntry("classNames", makeList(new ArrayList<String>(), "jstree-closed", "ClassName4", "ClassName5")),
makeEntry("rel", "TypeA"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode3"),
makeEntry("data-certain-attribute", "attribute-value4")
))
);
return makeList(new ArrayList<Map<String, Object>>(), node);
} else if (nodeIdentity.equals("ThisIsNode3")) {
final Map<String, Object> node = makeMap(
new HashMap<String, Object>(),
makeEntry("label", "ノード4"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode4")
))
);
return makeList(new ArrayList<Map<String, Object>>(), node);
}
return new ArrayList<Map<String, Object>>();
}
%>
<%
request.setAttribute("imui-theme-builder-module","notheme");
%>
<imui:treeNode value="<%= buildList(request.getParameter("data-node-identity")) %>" />
<%!
<T, U extends T> List<T> makeList(final List<T> list, final U... values) {
for (final U value : values) {
list.add(value);
}
return list;
}
<T> Map<String, T> makeMap(final Map<String, T> map, final Map.Entry<String, ? extends T>... entries) {
for (final Map.Entry<String, ? extends T> entry : entries) {
map.put(entry.getKey(), entry.getValue());
}
return map;
}
<T> Map.Entry<String, T> makeEntry(final String key, final T value) {
return new AbstractMap.SimpleEntry(key, value);
}
List<Map<String, Object>> buildList(final String nodeIdentity) {
if (nodeIdentity == null) {
final Map<String, Object> node1 = makeMap(
new HashMap<String, Object>(),
makeEntry("identity", "node1"),
makeEntry("label", "ノード1"),
makeEntry("classNames", makeList(new ArrayList<String>(), "ClassName1", "ClassName2")),
makeEntry("rel", "TypeA"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode1"),
makeEntry("data-certain-attribute1", "attribute-value1"),
makeEntry("data-certain-attribute2", "attribute-value2")
))
);
final Map<String, Object> node2 = makeMap(
new HashMap<String, Object>(),
makeEntry("identity", "node2"),
makeEntry("label", "ノード2"),
makeEntry("classNames", makeList(new ArrayList<String>(), "jstree-closed", "ClassName2")),
makeEntry("rel", "TypeB"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode2"),
makeEntry("data-certain-attribute2", "attribute-value3")
))
);
return makeList(new ArrayList<Map<String, Object>>(), node1, node2);
} else if (nodeIdentity.equals("ThisIsNode2")) {
final Map<String, Object> node = makeMap(
new HashMap<String, Object>(),
makeEntry("identity", "node3"),
makeEntry("label", "ノード3"),
makeEntry("classNames", makeList(new ArrayList<String>(), "jstree-closed", "ClassName4", "ClassName5")),
makeEntry("rel", "TypeA"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode3"),
makeEntry("data-certain-attribute", "attribute-value4")
))
);
return makeList(new ArrayList<Map<String, Object>>(), node);
} else if (nodeIdentity.equals("ThisIsNode3")) {
final Map<String, Object> node = makeMap(
new HashMap<String, Object>(),
makeEntry("label", "ノード4"),
makeEntry("attributes", makeMap(
new HashMap<String, String>(),
makeEntry("data-node-identity", "ThisIsNode4")
))
);
return makeList(new ArrayList<Map<String, Object>>(), node);
}
return new ArrayList<Map<String, Object>>();
}
%>
<%
request.setAttribute("imui-theme-builder-module","notheme");
%>
<imui:treeNode value="<%= buildList(request.getParameter("data-node-identity")) %>" />