JSFのXMLとしてXHTML GEXFファイルをダウンロードまたはエクスポートする方法は?

StackOverflow https://stackoverflow.com//questions/21059980

  •  26-12-2019
  •  | 
  •  

質問

Sigma.js JavaScriptライブラリにGexfファイル形式を使用して、JSFにグラフを描画しました。

gexfテンプレートをui:graph.xhtmlファイルのfragmentタグで保存しました。

<?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');
.

PAROGRAMは、このようにしてGraph.xhtmlファイルのノードとエッジ値を初期化するためにManagedBeanを使用します。

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

すべてが動作しており、グラフが描かれています。 gephiのような他のユーティリティソフトウェアで使用できるように、ユーザーにXMLフォーマットにXMLフォーマットにダウンロード/保存できるようにします。

どうすればXHTMLファイルをXMLに変換することができますか?

ありがとう。

役に立ちましたか?

解決

preRenderViewイベントを使用してページのヘッダーを変更します。

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

とchangeheader関数は次のとおりです。

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