我一直在考虑这个,我确实知道如何破解它。当然,我首先会研究@stwissel 描述的选项。faces-config.xml 文件所做的只是让运行时可以使用 java 实例。您可以在 java 和 javascript 中手动执行此操作。
javascript
function MyBean{
this.getInstance = function(){
return de.company.project.MyBean.getInstance();
}
return this;
}
爪哇
public static getInstance(){
Map<String, Object> scopeMap = ExtLibUtil.getSessionScope();
if(!scopeMap.containsKey(BEAN_NAME)){
scopeMap.put(BEAN_NAME, new MyBean();)
}
return scopeMap.get(Bean_Name);
}
然后,您可以根据需要访问所有 bean,并且 ssjs 文件包含不允许设计刷新的可能性。
您也可以随时将此 ssjs 文件导入其他人
import ssjs_MyBean;
再次,hacky,但有时没有什么比一个好的 hack 更好的了!还请记住,这不会允许 EL(我不认为)它严格获取一个类的实例。