我在sigma.js中使用了gexf文件格式javascript库,在JSF中绘制图形。

我在UI中保存了GEXF模板:以这种方式在graph.xhtml文件中的片段标记:

<?xml version="1.0" encoding="UTF-8"?>
<ui:fragment xmlns="http://www.w3.org/1999/xhtml"
             xmlns:ui="http://java.sun.com/jsf/facelets">
    <gexf xmlns="http://www.gexf.net/1.2draft" version="1.2">
.

sigma.js库以这种方式使用graph.xhtml:

sigInst.parseGexf('#{request.contextPath}/user/graph/graph.jsf');
. perabrog使用ManagedBean以这种方式使用ManagedBean来初始化Nable.xhtml文件中的节点和边缘值:

<ui:repeat value="#{graphInfoBean.edges}" var="edge" varStatus="indexVar">
                <edge id="#{indexVar.index}" source="#{edge.source}" target="#{edge.target}"
.

一切正常工作,绘制图形。 我希望用户能够将Graph.Xhtml文件下载/保存到XML格式,以便能够在Gephi等其他实用程序软件中使用它。

如何这样做,所以我可以将xhtml文件转换为XML?

谢谢。

有帮助吗?

解决方案

使用preRenderView事件更改页面的标题:

<f:event type="preRenderView" listener="#{graphInfoBean.changeHeader}"/>
.

和ChangeHearer函数是:

public void changeHeader() {
    HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
    response.setHeader("content-disposition", "attachment;filename=testFile.xml");
    response.setContentType("text/xml");
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top