public String buildTree() throws Exception{
List<TwiooDictionary> list = dictionaryManager.findTwiooDictionaryList();
StringBuffer buf = new StringBuffer();
buf.append("<root>");
for(TwiooDictionary td : list){
buf.append("<item>");
buf.append("<id>" + td.getId() + "</id>");
buf.append("<name>" + td.getName() + "</name>");
buf.append("<pid>" + td.getParentId() + "</pid>");
buf.append("</item>");
}
buf.append("</root>");
callbackClient(this.getResponse(),buf.toString());
return null;
}
private void callbackClient(HttpServletResponse response,String js)throws IOException{
try{
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "on-cache");
java.io.PrintWriter write = response.getWriter();
write.write(js);
write.close();
}catch(Exception e){
e.printStackTrace();
}
}
上面得注意
response.setContentType("text/xml;charset=UTF-8");
与
response.setContentType("text/html;charset=UTF-8");
是不一样的,如果写成html下面 $(data).find('item').each(function()
可能 取不了值
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: "GET",
url: "buildTreeDictionary.action",
success: function(data){
d = new dTree('d');
d.config.target = "mainFrame2";
$(data).find('item').each(function(){
var name = $(this).find('name').text();
var id = $(this).find('id').text();
var pid = $(this).find('pid').text();
d.add(id,pid,name,'editNodeDictionary.action?nodeId='+id);
});
//alert("============="+d);
// alert(d.toString());
$("#dtree2").html(d.toString());
}
});
});
</script>
本文介绍了一种使用Java构建XML树形结构的方法,并通过AJAX调用获取这些数据,利用jQuery进行DOM操作来实现树状菜单的动态加载。特别强调了响应内容类型设置为XML的重要性,以确保客户端正确解析。
170

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



