Estoy incrustando algunos javascript en una aplicación Java usando Rhino. Estoy siguiendo el ejemplo en el sitio web de Rhino, ejecutando una secuencia de comandos llamando al método evaluateString del contexto y pasando la secuencia de comandos real como una cadena.Rhino, agregando código desde varios archivos javascript
Tengo un montón de código javascript existente que me gustaría utilizar. No quiero concatenarlo todo en una cadena enorme y pasarlo a evaluarString. Prefiero ser capaz de cargar el código para poder llamarlo desde el código que transfiero a evaluateString (algo así como que el método AddCode funciona en el control de scripting de Microsoft). Me gustaría agregar un código como actualmente puedo agregar variables usando el método ScriptableObject.putProperty.
¿Hay alguna manera de hacerlo? ¿Alguien puede proporcionar un fragmento de código o un enlace a la documentación? ¡Gracias!
Ponga todo su código javascript en un solo archivo. Lea el archivo en un 'StringWriter' y use su método' toString'. Ahora usa 'evaluateString' para analizar todo el código javascript y devolver un objeto' Scriptable'. Después de eso, simplemente puede usar el método 'get (String namespace, Scriptable jsObject)' de Scriptables para acceder a cualquier objeto en el alcance. – FK82
Solo una observación: si desea habilitar un patrón de paso de continuación (como ha indicado) necesitará tener todas las funciones relevantes dentro del alcance y declarar dicho alcance en 'Function.call (contexto de script, ámbito de script, script de este objeto, Object [] args) '. Por lo tanto, realmente no veo el beneficio de dividir tu código en fragmentos. – FK82