Es fácil hacer que los objetos disponibles a partir del rinoceronte de Java utilizando ScriptableObject.putProperty
, pero hay una manera de exponer una función de nivel superior? Es decir, ¿puedo hacerlo para que los scripts en Rhino puedan llamar al foo()
y tener esa llamada al código de Java?La exposición de una función de Java a Rhino
7
A
Respuesta
6
Umm ... yes, you can. Quizás no entiendo tu pregunta correctamente (¿a qué te refieres con "función de nivel superior"?) Pero si has expuesto el objeto java a Rhino, puedes llamar a sus métodos.
Cuestiones relacionadas
- 1. Rhino: Cómo llamar a la función JS desde Java
- 2. Función de impresión de Rhino
- 3. Rhino: ¿Cómo devolver una cadena de Java a Javascript?
- 4. ¿Cómo puedo pasar una función javaScript a un Método Java para actuar como una devolución de llamada (Rhino)
- 5. edificio depurador de java script para Rhino
- 6. Cómo convertir matrices de JavaScript Rhino-a-Java Arrays
- 7. Exposición de Rails/Devise Authentication a la aplicación iOS
- 8. La exposición de un puntero en Boost.Python
- 9. Controlar Auto-exposición de la cámara
- 10. ¿Desactivar completamente la compensación de exposición automática?
- 11. Exposición de un servicio .Net
- 12. Resolviendo módulos usando require.js y Java/Rhino
- 13. ¿Cuál es la diferencia entre la versión incorporada de Java 6 de Rhino y el paquete Rhino directo de Mozilla?
- 14. Interpretación de JavaScript en Java con Rhino: pausar/reanudar scripts
- 15. PyQt (PySide), WebKit y métodos de exposición de/a Javascript
- 16. pasar una matriz a una función de Java
- 17. ¿Alguien ha usado o escrito una tarea Ant para compilar (Rhino) código de JavaScript a Java?
- 18. Función dentro de una función en Java
- 19. Función Rhino load() disponible en JavaScript proporcionado por javax.script?
- 20. Interceptar el acceso de campo de objetos Java en Rhino
- 21. ¿Puedo desambiguar a la fuerza métodos sobrecargados llamados por Rhino?
- 22. Llamar a la función javascript de la clase Java (Groovy)
- 23. Llamar a la función periódicamente en Java
- 24. Ventajas de usar Rhino (rinoceronte de mozilla)
- 25. Exposición de variables de la llamada PhantomJS a la inyección JS
- 26. Rhino Commons y Rhino Mocks Documentos de referencia?
- 27. Tutoriales para Mozilla Rhino
- 28. Java Equivalente a la función iif
- 29. Llamada a la función c desde Java
- 30. ¿Cómo acceder a una función de matlab desde código java?
Lo siento si no estaba claro. Si bien puedo exponer un objeto, lo que me permite llamar a foo.bar(), me gustaría llamar a bar(). Entonces, por 'función de nivel superior' me refiero a una función que es una propiedad del alcance de Rhino que se está ejecutando actualmente, si eso tiene más sentido. – Thom
Oh, ya veo. Se puede definir una FunctionObject: https://www.mozilla.org/rhino/apidocs/org/mozilla/javascript/FunctionObject.html y asociarlo con alcance global (o su intensidad) a través de PutProperty() – ChssPly76
Superb, que se ve perfecto . ¡Gracias! – Thom