Meu aplicativo estava funcionando perfeitamente bemZKoss 5.x antes da atualização, atualizamos recentemente para o Zkoss 6.5.2. Na camada do compositor, instalamos automaticamente o serviço Spring beans, antes da atualização, eles estavam totalmente bem, mas após a atualização do ZK para a versão mais recente 6.5.2, todos os service beans são nulos (sem conexão automática) e todos lançam a Null Pointer Exception. Não tenho certeza se estou perdendo alguma coisa. Eu estou preso nisso. Alguém pode ajudar ou dar algumas idéias sobre como fazê-lo?
Existe alguma dependência na nova versão do Spring? Ou qualquer versão do JDK? Estou usando o JDK 7 versão menor 21 na caixa do Windows com o Spring 3.0.
Código do arquivo 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"/>
Classe do compositor:
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 }
}
}
Respostas:
0 para resposta № 1Eu já enfrentei esse problema antes e usei o hack rápido: SpringUtil.getBean("myBean");
Eu também encontrei outra solução alternativa para isso que eu não testei, pode ser que você possa testá-lo:
public class SearchController extends SelectorComposer {
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
Selectors.wireVariables(getPage(), this, _resolvers);
}
}
Veja isso zk bug Além disso.
0 para resposta № 2
Atualizar zkjsp.
Dê uma olhada neste erro