scripttask在使用jdk 8的JavaScript脚本时对外java对象的类获取不到,这里有的处理方法为:
load("nashorn:mozilla_compat.js");
// Import the java.awt package
importPackage(java.awt);
// Import the java.awt.Frame class
importClass(java.awt.Frame);
// Create a new Frame object
var frame = new java.awt.Frame("hello");
// Call the setVisible() method
frame.setVisible(true);
// Access a JavaBean property
print(frame.title);
在脚本的最前边加入
load("nashorn:mozilla_compat.js");
这句话,即可。
注意2:
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jobExecutorActivate" value="true"/>
<!--<property name="history" value="full"/>-->
<property name="processDefinitionCacheLimit" value="10"/>
<property name="beans">
<map>
<entry key="shellUtils">
<bean id="shellUtils" class="com.duxiu.modules.activiti.utils.ShellUtils" />
</entry>
</map>
</property>
</bean>
这里的bean属性可以将ShellUtils类暴露给JavaScript脚本来使用,不同的地方是:
jdk7版本ShellUtils类里的方法可以静态方法暴露出去,但是jdk8则不行,只能暴露public方法。
http://docs.oracle.com/javase/8/docs/technotes/guides/scripting/prog_guide/javascript.html#A1147207
posted on 2015-07-06 15:06
SIMONE 阅读(408)
评论(0) 编辑 收藏 所属分类:
JAVA