Guten Abend Leute,
Ich versuche gerade, die Visualisierungsfunktionalität von d3 meiner vaadin Anwendung hinzuzufügen. Wenn Sie nicht wissen, was d3 ist, hier ist ein kurzer Link: Ссылка
Aber ich stecke mit einigen Problemen fest:
Wie kann ich die Javascript-Datei / Bibliothek "d3.v2.js" hinzufügen, die für die Entwicklung mit d3 notwendig ist? Ich habe versucht, es zu einem eigenen Thema hinzuzufügen (WebContent / VAADIN / themes / myOwnTheme / ..), aber durch die Aktualisierung in Eclipse bekomme ich die Nachricht: "Fehler während des Builds aufgetreten. Fehler beim Ausführen des Builders 'JavaScript Validator' für das Projekt ' VaadinD3Testproject '. 14 ". Ich nehme an, dass die js-Datei mit rund 8000 Zeilen zu groß ist? Ich habe gelesen, dass ich die Datei irgendwie zur web.xml hinzufüge? Gibt es einen Weg?
Wie kann ich dann JavaScript Code zu meiner vaadin Anwendung hinzufügen? Nach meiner Recherche weiß ich, dass es die Möglichkeiten gibt:
oder
- & gt; Gibt es andere Möglichkeiten, JavaScript-Code zu integrieren?
Könnte mir jemand mit einer Art "Schritt für Schritt" Erklärung helfen, wie man beide Wege löst? Hilfe würde hier wirklich geschätzt werden, da ich nicht so erfahren bin.
------- UPDATE -----------
Wie kann ich die Javascript-Datei / Bibliothek "d3.v2.js" hinzufügen, die für die Entwicklung mit d3 benötigt wird? Ich habe versucht, es zu einem eigenen Thema hinzuzufügen (WebContent / VAADIN / themes / myOwnTheme / ..), aber durch erfrischend bin ich Abrufen der Nachricht: "Während des Builds sind Fehler aufgetreten. Fehler werden ausgeführt Builder 'JavaScript Validator' für das Projekt 'VaadinD3Testproject'. 14 ". Ich schätze, das liegt daran, dass die js-Datei mit etwa 8000 zu groß sein könnte Linien? Ich habe gelesen, dass ich die Datei irgendwie zur web.xml hinzufüge? ist da ein Weg?
Ich habe diesen Fehler behoben, es war ein Problem mit meiner Sonnenfinsternis und dem eingebauten JavaScript-Validator. Ich konnte nun die js-Datei in meine Anwendung laden, indem ich die Ajax-Klasse mit einem eigenen Servlet überschrieb, wie es hier in mehreren Beiträgen beschrieben wurde.
Ich habe jetzt verschiedene Möglichkeiten ausprobiert:
getMainWindow.executeJavaScript () funktioniert nicht so, dass ich d3 benutzen könnte, irgendwie, sobald ich etwas d3-Code hinzufügen möchte, wie "d3.select (" body ") .append ( "svg"); ", es führt es einfach nicht aus (egal ob ich die Tags umgebe oder nicht, aber ich habe im Allgemeinen bemerkt, dass Code in Tags nicht ausgeführt wird)
Ich habe versucht, ein CustimLayout zu verwenden, wie es in einigen Beispielen dieses Forums gezeigt wurde, aber es ist wieder wie oben beschrieben. Wenn ich den Quellcode der Website überprüfe, fehlt mein Code einfach oder wird analysiert
Etiketten funktionieren nicht mehr, egal ob XHTML- oder RAW-Modus, Ausnahme tritt auf
Beim Überschreiben einer anderen Servlet-Methode, die aufgerufen wird, wenn der bodys beim Serverstart erstellt wird, habe ich die Fehlermeldung erhalten, dass vaadin das Standard-Widgetset nicht einmal laden konnte.
Also, was ist übrig? Gibt es wirklich keine Möglichkeit, d3 mit vaadin zu integrieren? Hat das noch niemand versucht? Ich habe gestern auch viel über das kommende vaadin 7 gelesen. Aber wäre es auch nur eine Option, eine Alpha-Version zu verwenden, von der ich keine Ahnung habe, wie stabil sie ist (ich glaube, deshalb heißt sie Alpha)
Danke für jeden Gedanken, den du mit mir teilst
Die umfassendste Möglichkeit, eine vorhandene JavaScript-Bibliothek zu integrieren, ist die Entwicklung einer eigenen benutzerdefinierten Komponente . Diese ist ein wenig komplizierter als die "normale" Vaadin-Entwicklung, bietet Ihnen aber vollen Zugriff auf Javascript-Methoden und -Objekte (via GWT) im Browser.
Um nur eine externe JavaScript-Datei in die Seite aufzunehmen, erweitern Sie die ApplicationServlet-Klasse und überschreiben Sie die writeAjaxPageHtmlVaadinScripts
-Methode. Hier ist ein Auszug aus einem aktuellen Projekt, das einige externe Bibliotheken enthält.
Sie können diese Bibliotheken dann mit 'getMainWindow (). executeJavaScript (blah)'
verwendenNach allem, was ich von d3 sehe, macht es mehr Sinn, eine benutzerdefinierte Vaadin-Komponente zu entwickeln. Es könnte sinnvoller sein zu sehen, ob es ein vorhandenes GWT d3-Widget gibt, und dann versuchen, das in einer Vaadin-Komponente zu verwenden.
%Vor%Ich weiß es zu spät, aber ich begann mit der Integration von D3js und Vaadin. Ich habe ein paar Ressourcen. Es könnte jemandem helfen, der auf dieser Strecke ist Zuerst das beste Buch für Vaadin ist Buch von Vaadin Dieses Buch wird Ihnen helfen, das gründliche Wissen von Vaadin zu bekommen. Es wurde auch für die Vaadin-Zertifizierung empfohlen
Klicken Sie hier zum Herunterladen Buch von Vaadin
1) Freecode-Diagramme und D3-Wrapper
2) Integration von D3 mit Vaadin
Wenn Sie in diesem Tutorial einen Fehler bekommen, versuchen Sie diesen Link zu beziehen - & gt; Vaadin-Forum
Tags und Links javascript java d3.js visualization vaadin