我的应用程序在升级之前在ZKoss 5.x上运行得非常好,我们最近升级到Zkoss 6.5.2。 在作曲家层,我们已经自动装配了服务Spring bean,在升级之前它们完全没问题,但是在ZK升级到最新版本6.5.2之后,所有服务bean都为空(不是自动连线),并且所有服务bean都抛出Null Pointer Exception。我不确定我是否遗漏了什么。 我坚持这个。 任何人都可以帮忙或提出一些想法如何去做?
是否有新的Spring版本依赖?还是任何JDK版本? 我在Spring 3.0的Windows机器上使用JDK 7次要版本21。
Zul文件代码:
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="./myWin"?>
<groupbox width="1310px">
<caption label="More"/>
<a id="screenLink">Local transfers screen</a>
</groupbox>
<timer id="timer" delay="3000" repeats="true"/>
作曲家课程:
public class ZYZComposer extends GenericForwardComposer {
private MyService transferService;
private Window myWin;
private A screenLink;
public ZYZComposer() {
super();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
if (transferService.isEnabled()) {
screenLink.setHref(transferService.getScreenUrl());
} else {
myWin.setVisible(false);
}
}
public void onTimer$timer() {
if (transferService.isEnabled()) { // Some logic }
}
}
答案 0 :(得分:0)
之前我遇到过这个问题并使用了快速破解:SpringUtil.getBean("myBean");
我还发现了一些其他的解决方法,我没有测试过,可能你可以测试一下:
public class SearchController extends SelectorComposer {
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
Selectors.wireVariables(getPage(), this, _resolvers);
}
}
还要查看此zk bug。
答案 1 :(得分:0)