我正在将 XML 字符串从 grails 控制器传递给 gsp,并且需要在 javascript 函数中使用它来使用 jstree 显示树视图。
我的控制器代码是
render(view: "list",model: [dataXML: callXML.getXmlString()])
gsp代码中的javascript函数是
function callXML(){
var xmlStr = "${dataXML}";
_uimTree = new UIMTreeProcessor(parseXml(), jQuery("#jstree"));
_uimTree.doProcess();
}
function parseXML(){
if (window.DOMParser) {
return new window.DOMParser().parseFromString(xmlStr, "text/xml");
}else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) {
var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(xmlStr);
return xmlDoc;
}else{
return jQuery(xmlStr);
}
}
控制器:
def showModel = {
CallXML callXML = new CallXML();
callXML.setXmlString();
def productFlowModels = new XmlParser().parseText(callXML.getXmlString());
println callXML.getXmlString();
render(view: "list",model: [dataXML: callXML.getXmlString() as String])
}
只要 ${dataXML} 进入函数,它就会破坏代码。我试过不带引号,仍然是同样的问题。我做错了什么?
提前致谢。