Sapui5 SAP UI5-如何将HTML DOM对象附加到XML视图
我试图将一个HTMLDOM对象附加到XML视图中,但它没有显示出来 我试图找到一个BAPI服务,它返回一个XML,然后使用XSLT将其转换为HTMLDOM resultDocument是一个documentFragment paneXml是面板idSapui5 SAP UI5-如何将HTML DOM对象附加到XML视图,sapui5,Sapui5,我试图将一个HTMLDOM对象附加到XML视图中,但它没有显示出来 我试图找到一个BAPI服务,它返回一个XML,然后使用XSLT将其转换为HTMLDOM resultDocument是一个documentFragment paneXml是面板id if (document.implementation && document.implementation.createDocument) { xsltProcessor = new XSLT
if (document.implementation && document.implementation.createDocument) {
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml, document);
var viewHtml = new sap.ui.core.HTML().setDOMContent(resultDocument);
this.getView().byId('panelXml').placeAt('viewHtml');
}
XML视图此处:
var viewHtml = new sap.ui.core.HTML().setDOMContent(resultDocument);
创建控件,然后将其添加到要显示的视图中
在这里:
this.getView().byId('panelXml').placeAt('viewHtml');
将控件面板放入html标记“viewHtml”中如果未定义标记,则该标记可能根本不存在,也可能不存在于先前定义的viewHtml控件中,说到此,您无法将控件放入另一个控件placeAt works for html标记中
您应该将viewHtml控件添加到视图中。该控件应该是先前在视图中定义的。然后,您只需通过其id调用它并为其分配新内容
如果要将面板添加到resultDocument中,则不应在视图中执行,而应在创建此resultDocument后的控制器中执行。不过,我不确定它是否有效
通常,如果要将HTML DOM对象附加到XML视图,则需要在视图中定义控件。我不太使用XML视图,因此以下视图代码可能不是100%准确:
<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
controllerName="myApp" xmlns:html="http://www.w3.org/1999/xhtml">
<Page>
<content>
<html:div id="htmlId">hihi</html:div>
</content>
</Page>
</mvc:View>
对于fiori应用程序SAPUI5 1.44,此链接http://jsfiddle.net/C4FW7/ 作品你只需要做以下事情
<App>
<Page title="SAPUI5 App">
<core:HTML id="html" content="hello"/>
</Page>
</App>
<App>
<Page title="SAPUI5 App">
<core:HTML id="html" content="hello"/>
</Page>
</App>
sap.ui.controller("my.own.controller", {
onInit: function(){
var that=this;
$.get( "/8rmAU/show/light", function( data ) {
that.getView().byId('html').setContent(data);
});
}
});