Я встраиваю некоторый javascript в приложение Java, используя Rhino. Я следую примеру на веб-сайте Rhino, выполняя сценарий, вызывая метод AssessmentString контекста и передавая фактический сценарий в виде строки.
У меня есть целая куча существующего кода javascript, который я хотел бы использовать. Я не хочу объединять все это в огромную строку и передавать ее в AssessmentString. Я предпочел бы иметь возможность загрузить код, чтобы я мог вызывать его из кода, который я передаю в AssessmentString (подобно тому, как метод AddCode работает в элементе управления сценариями Microsoft). Я хотел бы добавить код, как в настоящее время я могу добавлять переменные с помощью метода ScriptableObject.putProperty.
Есть ли способ сделать это? Может кто-нибудь предоставить фрагмент кода или ссылку на документацию. Спасибо!
StringWriter
и используйте его методtoString
. Теперь используйтеevaluateString
, чтобы проанализировать весь код javascript и вернуть объектScriptable
. После этого вы можете просто использовать методget(String namespace,Scriptable jsObject)
Scriptables для доступа к любому объекту в области видимости. - person FK82   schedule 25.06.2010Function.call(Scriptable context,Scriptable scope,Scriptable thisObject,Object[] args)
. Поэтому я не вижу особой пользы от разбиения вашего кода на фрагменты. - person FK82   schedule 26.06.2010