dhtmlXTree的節點定義可以從服務器生成的Xml中動態加載,我目前使用的是Struts2. 因此,我的做法是,在Javascript生成dhtmlxTree的時候,請求一個加載Struts2的action,Struts2的Action進行用戶權限認證,動態生成菜單的Xml字符串。而在jsp中只輸出這一個字符串。
開始進行的都比較順利,但是客戶端和服務端一連起來就出問題,頁面在加載Xml的時候總是彈出一個對話框,說是加載的xml格式不正確。但是我在IE中直接輸入Action,頁面顯示的結果十分正確,沒有問題。后來,無意中我查看了返回xml頁面的源文件,這才發現了問題。
原來,xml的<和>全都被轉換成<和>了。
我一開始是想在后臺考慮如何對字符串進行轉換,后來在查struts2文檔的時候發現,<s:property有一個escape屬性,可以完美地解決這個問題,<s:property value="menuXmlString" escape="false"/>
例子已經整理出來了:http://www.aygfsteel.com/usherlight/archive/2008/08/07/220756.html
開始進行的都比較順利,但是客戶端和服務端一連起來就出問題,頁面在加載Xml的時候總是彈出一個對話框,說是加載的xml格式不正確。但是我在IE中直接輸入Action,頁面顯示的結果十分正確,沒有問題。后來,無意中我查看了返回xml頁面的源文件,這才發現了問題。
原來,xml的<和>全都被轉換成<和>了。
我一開始是想在后臺考慮如何對字符串進行轉換,后來在查struts2文檔的時候發現,<s:property有一個escape屬性,可以完美地解決這個問題,<s:property value="menuXmlString" escape="false"/>
例子已經整理出來了:http://www.aygfsteel.com/usherlight/archive/2008/08/07/220756.html