Model view controller ZK MVC:我怎么能等到另一个成分的合成
我正在从事一个ZK项目,使用ZK MVC方法。我试图做的是在编写div之后初始化“panel”,但问题是我得到了一个“java.lang.NullPointerException” 这些都是我尝试做的一个简单的例子。我的视图“mypage.zul”Model view controller ZK MVC:我怎么能等到另一个成分的合成,model-view-controller,zk,Model View Controller,Zk,我正在从事一个ZK项目,使用ZK MVC方法。我试图做的是在编写div之后初始化“panel”,但问题是我得到了一个“java.lang.NullPointerException” 这些都是我尝试做的一个简单的例子。我的视图“mypage.zul” 我的控制者:“展示” 公共类显示扩展选择器或编译器{ @电线 复选框objectif\u复选框; @电线 小组工作量; public void doAfterCompose(Div comp)引发异常{ super.doAfterCompose(
我的控制者:“展示”
公共类显示扩展选择器或编译器{
@电线
复选框objectif\u复选框;
@电线
小组工作量;
public void doAfterCompose(Div comp)引发异常{
super.doAfterCompose(comp);
panelworkload.setTitle(“hello workload”);
}
}
这是我得到的一个例外
java.lang.NullPointerException dashboard.display.doAfterCompose(display.java:24)
dashboard.display.doAfterCompose(display.java:1)
org.zkoss.zk.ui.impl.UiEngineImpl.doAfterCompose(UiEngineImpl.java:578)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild0(UiEngineImpl.java:880)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:826)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:735)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreate(UiEngineImpl.java:699)
到目前为止,我所了解到的是,div是在portallayout之前编写的,这就是为什么创建div时服务器无法重新激活portallayout的原因
有人能帮我吗?我有点困在这里了…谢谢你zk framework的
面板
对象的setTitle
方法如下:
public void setTitle(String title) {
if (title == null)
title = "";
if (!Objects.equals(_title, title)) {
_title = title;
smartUpdate("title", _title);
}
}
里面没有任何东西会抛出NullPointerException
。(堆栈跟踪将指示它)
因此,panelworkload
在doAfterCompose(comp)
对象中当前应为空
我建议您通读上的几个答案,尽管它们没有很好地解释如何诊断NullPointerException错误,也没有解释如何跟踪堆栈跟踪
要么
panelworkload
为空,要么传递给doAfterCompose(comp)
的Div为空。no的重复项它们不为null,当我删除这一行“panelworkload.setTitle(“hello workload”);”时,它工作正常,当我将它添加到事件中时,它们也工作正常,没有一个为null
public class display extends SelectorComposer<Div>{
@Wire
Checkbox objectif_checkbox;
@Wire
Panel panelworkload;
public void doAfterCompose(Div comp) throws Exception {
super.doAfterCompose(comp);
panelworkload.setTitle("hello workload");
}
}
public void setTitle(String title) {
if (title == null)
title = "";
if (!Objects.equals(_title, title)) {
_title = title;
smartUpdate("title", _title);
}
}