升级后ZKoss的作曲家层中的Spring bean自动装配问题

时间:2013-06-20 06:35:52

标签: spring zk

我的应用程序在升级之前在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  }
    }  
}

2 个答案:

答案 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)

更新zkjsp
看一下这个bug