JSONオブジェクトを返すJavaクラスがあり、このJSONオブジェクトをgojs javascriptに渡す必要があります。ここではgojs javascriptファイルのサンプルです(gojs_org_view .js)Java/Prime FacesからJSONオブジェクトをGOJS javascriptファイルに渡す方法
function init() {
var g = go.GraphObject.make; // for conciseness in defining templates
myDiagram = new go.Diagram("myDiagram"); // must be the ID or reference to div
var graygrad = g(go.Brush, go.Brush.Linear, { 0: "rgb(125, 125, 125)", 1: "rgb(86, 86, 86)", 1: "rgb(86, 86, 86)" });
var unassocArray =[{"id":"12" , "name":"Bugs Bunny", "title":"Head Bunny"},
{"id":"13" , "name":"Honey Bunny", "title":"Wife Bunny"},
{"id":"14" , "name":"Lola Bunny", "title":"Lil' Bunny"},
{"id":"15" , "name":"Mickey Mouse", "title":"Looney In Charge"}];
//いくつかのJavaScriptコード...........
function save() {
var json = JSON.parse(myDiagram.model.toJson());
document.getElementById("mySavedModel").value = JSON.stringify(json.nodeDataArray, null, ' ');
}
function load() {
var nodeDataArray =
[ {"id":"1", "pid":"1", "name":"Corrado 'Junior' Soprano", "title":"The Boss", "email":"[email protected]"},
{"id":"2", "pid":"1", "name":"Tony Soprano", "title":"Underboss", "email":"[email protected]"},
{"id":"3", "pid":"1", "name":"Herman 'Hesh' Rabkin", "title":"Advisor", "email":"[email protected]"},
{"id":"4", "pid":"2", "name":"Paulie Walnuts", "title":"Capo", "email":"[email protected]"},
{"id":"5", "pid":"2", "name":"Ralph Cifaretto", "title":"Capo MIA", "email":"[email protected]"},
{"id":"6", "pid":"2", "name":"Silvio Dante", "title":"Consigliere", "email":"[email protected]"}];
var model = new go.TreeModel();
model.nodeKeyProperty = "id";
model.nodeParentKeyProperty = "pid";
model.nodeDataArray = nodeDataArray;
myDiagram.model = model;
myDiagram.undoManager.isEnabled = true;
}
function onSelectionChanged(e) {
var node = e.diagram.selection.first();
if (node instanceof go.Node) {
updateProperties(node.data);
} else {
updateProperties(null);
}
}
// Update the HTML elements for editing the properties of the currently selected node, if any
function updateProperties(data) {
if (data === null) {
jQuery("#selected").css('visibility', 'hidden');
jQuery("#name").html("");
jQuery("#title").html("");
jQuery("#email").html("");
jQuery("#site").html("");
jQuery("#superior").html("");
} else {
jQuery("#selected").css('display', 'block');
jQuery("#name").html("ID: " + data.id + " Name: " + data.fullname || "");
jQuery("#title").html("Title: " + data.title || "");
jQuery("#email").html("Email: " + data.email || "");
jQuery("#site").html("Site: " + data.siteName || "");
jQuery("#superior").html("Superior: " + data.pname || "");
}
}
javascriptの変数unassocArrayとnodeDataArrayがハードコーディングされている代わりに、これらの値はから来ていますJavaクラスまたはxhtml(私はJSONオブジェクトをgojs javascriptファイルsincに送る最良の方法がわからない私はプライムフェイスとJSONの初心者です)。ここで は、私は以下のように隠された値を試してみました
<p:panel id="relationshipsPanel">
<h:outputScript library="js" name="go.js" />
<h:outputScript library="js" name="gojs_org_view.js" />
<h:outputStylesheet library="css" name="gojs_org_view.css"/>
<div id="sample">
<div id="myPalette" class="myPaletteClass"></div>
<div id="myDiagram" class="myDiagramClass"></div>
<div id="myOverview" class="inner"></div>
<div id="selected" class="selectedClass"></div>
</div>
</p:panel>
gojsを呼び出すXHTMLコードで、私は「(私は
window.console.logをした私の見解ではgojs_org_view.jsで
を次の行を追加しましたRANA ORG JSON ---------------------> "+ document.getElementById(" relationshipsForm:arrVal ")。value); var nodeDataArray = JSON.parse(document.getElementById( "relationshipsForm:arrVal")。value);
コンソールで次のJSONオブジェクトをビューからjavascriptに取得していますが、var nodeDataArray = JSON.parse(document.getElementById( "relationshipsForm:arrVal"))のthrowingエラー "Uncaught SyntaxError:Unexpected token i" );
私は隠れた値を使ってみました私の見解には次の行を入れました – RanPaul
あなたのjsonでエラーがあるように見えるhttp://jsonlint.com/を使ってjsonを検証しようとします – Kishore
ありがとうございます@kishore – RanPaul