JSFのXMLとしてXHTML GEXFファイルをダウンロードまたはエクスポートする方法は?
質問
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");
}
. 所属していません StackOverflow