2013-08-09 14 views
5

JSON nesnesini döndüren bir java sınıfım var ve bu JSON nesnesini gojs javascript'e aktarmam gerekiyor, işte gojs javascript dosyası örneği (gojs_org_view .js)JSON nesnesini GOJS javascript dosyasından Java/Prime Faces'e aktarma

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"}]; 

// bazı javascript kodu ...........

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]os.net"}]; 
    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 değişkenler unassocArray ve nodeDataArray kodlanmış yerine bu değerler gelmek zorunda olan java sınıf ya da xhtml (gojs javascript dosyası sinc JSON nesne göndermek için en iyi yöntem hangisi olduğundan emin değilim e yüz yüze ve JSON için yeni duyuyorum. İşte xhtml kodudur çağıran gojs

<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> 

I "(Ben
window.console.log yaptığı gojs_org_view.js ise

Bence çizgisini takip eklendi, aşağıdaki gibi gizli değerini çalıştı RANA ORG JSON ---------------------> "+ document.getElementById (" relationsForm: arrVal "). Value); var nodeDataArray = JSON.parse (document.getElementById ("relationsForm: arrVal"). Value); Konsolda

JavaScript ancak atma hata için görünümden aşağıdaki JSON nesnesi alma am "yakalanmamış SyntaxError: Beklenmedik belirteci I" var nodeDataArray = JSON.parse (Document.getElementById (en. "relationshipsForm: arrval") değerine sahip);

cevap

1

Bir AJAX çağrısı kullanarak sunucudan veri talep edebilir ve verileri alabilirsiniz. Eğer bu bir seçenek değilse, o zaman verileri sayfadaki gizli bir alana koyabilir veişlevine, işlevini document.getElementById kullanarak yaptığınız gibi erişebilirsiniz.

+0

Görünümümde şu satırı koyduğum gizli değeri kullanmayı denedim – RanPaul

+0

json'unuzu http://jsonlint.com/ kullanarak doğrulamak için deneyin json – Kishore

+1

'unuzda hatalar var gibi görünüyor. – RanPaul

İlgili konular