È facile rendere gli oggetti disponibili su Rhino da Java utilizzando ScriptableObject.putProperty
, ma esiste un modo per esporre una funzione di primo livello? Cioè, posso fare in modo che gli script di Rhino possano chiamare foo()
e fare in modo che invochino il codice Java?Esporre una funzione da Java a Rhino
7
A
risposta
6
Umm ... yes, you can. Forse non sto capendo correttamente la tua domanda (cosa intendi per "funzione di primo livello"?) Ma se hai esposto l'oggetto java a Rhino, puoi chiamare i suoi metodi.
Problemi correlati
- 1. Rhino: come restituire una stringa da Java a Javascript?
- 2. Rhino: Come chiamare la funzione JS da Java
- 3. Accesso a JSON nativo di Rhino. Modifica da Java
- 4. Come passare una funzione javaScript a un metodo Java per agire come callback (Rhino)
- 5. Proprietà java: esporre o non esporre?
- 6. Come posso convertire una datastruttura JSON prodotta da Rhino (NativeObject) in una infrastruttura dati Java?
- 7. Chiama una funzione Oracle da Java
- 8. Perché è possibile esporre membri privati quando restituisco un riferimento da una funzione membro pubblico?
- 9. Esporre un'API C++ a C#
- 10. costruzione java script debugger per rhino
- 11. Come posso aggiungere metodi da una classe Java come funzioni globali in Javascript usando Rhino?
- 12. Rhino: come ottenere tutte le proprietà da ScriptableObject?
- 13. Esercitazioni su Mozilla Rhino
- 14. Come posso mappare una stringa a una funzione in Java?
- 15. Qual è la differenza tra la versione integrata di Java 6 di Rhino e il pacchetto Rhino direttamente da Mozilla?
- 16. Risoluzione dei moduli utilizzando require.js e Java/Rhino
- 17. Unicode in Rhino
- 18. XMLHttpRequest in Rhino?
- 19. C# esporre a COM - Interfaccia eredità
- 20. Come esporre i join C++ a Lua
- 21. Restituisce più di un valore da una funzione in Java
- 22. Esporre le funzioni Dart a javascript
- 23. Posso disambigare forzatamente i metodi di overload chiamati da Rhino?
- 24. javax script come chiamare una funzione in JavaScript da Java
- 25. Documenti di riferimento di Rhino Commons e Rhino Mocks?
- 26. Funzione all'interno di una funzione in Java
- 27. Chiamare una funzione sottoposta a override da una classe base?
- 28. Accesso a una matrice restituita da una funzione
- 29. Passaggio di una variabile locale da una funzione a un'altra
- 30. Chiamare una funzione clojure molto semplice da Java non funziona
Scusate se non ero chiaro. Mentre posso esporre un oggetto, che mi permette di chiamare foo.bar(), preferirei semplicemente chiamare bar(). Quindi, per 'funzione di livello superiore' intendo una funzione che è una proprietà di Rhino Scope attualmente in esecuzione, se questo ha più senso. – Thom
Oh, capisco. È possibile definire un oggetto FunctionObject: https://www.mozilla.org/rhino/apidocs/org/mozilla/javascript/FunctionObject.html e associarlo allo scope globale (o corrente) tramite putProperty() – ChssPly76
Superb, che sembra perfetto . Grazie! – Thom