我需要從類似於此this issue的java bean調用ssjs。問題是,我需要執行的代碼來自一個配置文件,並可能看起來像:如何從Java Bean調用ad hoc SSJS
getComponent("xxx").getValue();
我已經建立,做一個版本:
String compute = doc.getItemValueString("SSJSStuff");
String valueExpr = "#{javascript:" + compute + "}";
FacesContext fc = FacesContext.getCurrentInstance();
Application app = fc.getApplication();
ValueBinding vb = app.createValueBinding(valueExpr);
String vreslt = vb.getValue(fc).toString();
,但我得到"Exception in xxx: com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression"
我覺得我很接近,但我沒有看到山上..任何想法?
爲#4的答案 - 因爲該組件在這一點上是不可用正在返回任何對象在XSP生命週期中。我通過將dataSource中的NotesDocument傳遞給Java Bean方法來解決這個問題,所以我可以反對實際的Notes字段。我將更深入地研究ExpressionEvaluatorImpl,因爲它承諾此項目的其他部分。/Newbs – Newbs 2012-04-26 15:57:00
有沒有辦法像javax.script.ScriptEngine中的put(key,object)一樣將對象注入SSJS評估?我想對Java文檔集合中的所有文檔評估相同的腳本。 – 2013-09-02 15:02:02
@PanuHaaramo:對不起,我不明白你在做什麼... – 2013-09-06 09:41:47