저는 zk 어플리케이션에 큰 문제가 있습니다. 모델을보기 위해 바인딩하고 싶지만 작동하지 않습니다. 전 모델에 액세스 애플릿을하려고하면, 내가 얻을 오류 java.lang.NullPointer애플릿이 corectly로 모델에 바인딩되어 있지 않습니다.
//index.zul
<?page title="Auto Generated index.zul"?>
<window id="mainWindow" title="edycja dokumentow" border="normal"
apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('controller.EditDocsController')">
<vbox>
<listbox id="modelList" height="160px" model="@bind(vm.modelList)">
<listhead>
<listheader label="id" />
<listheader label="open" />
</listhead>
<template name="model">
<listitem>
<listcell label="@bind(each)" />
<listcell >
<button label="otworz" onClick="@command('open',id=each)"/>
</listcell>
</listitem>
</template>
</listbox>
<applet code="applet.EditFileApplet" codebase="applet" archive="EditApplet.jar" width="100px" height="100px" model="@save(vm.editApplet) before='open'"/>
<!--<applet code="applet.EditFileApplet" codebase="applet" archive="EditApplet.jar" width="100px" height="100px" model="@bind(vm.editApplet)'"/>
// I have tried these two version separetly
</vbox>
</window>
EditDocsController.java 사전에
public class EditDocsController {
private DocsDAO docksDAO = new DocsDAO();
private List<Integer> modelList;
private Applet editApplet;
public Applet getEditApplet() { return editApplet; }
public void setEditApplet(Applet editApplet) { this.editApplet = editApplet; }
public List<Integer> getModelList() { return modelList; }
public void setModelList(List<Integer> modelList) { this.modelList = modelList; }
@AfterCompose
public void loadDock(){
modelList = docksDAO.getData();
/* editApplet = new Applet();
editApplet.setCode("applet.EditFileApplet");
editApplet.setCodebase("applet");
editApplet.setArchive("EditApplet.jar");*/
}
@Command
public void open(@BindingParam("id") Integer id){
editApplet.getArchive();
editApplet.invoke("open", new String[]{id.toString(),"user jakiś tam"});
}
}
감사 당신은, 제발 복구 방법 어떤 생각이있는 경우 나 여기
과 공유하면 모든 스택 추적 https://docs.google.com/document/d/1YZs7xgzxbOGo70sPogUdNn5IbwWGcq2YU1GRszEtdNk/edit?usp=sharing
,536에게 있습니다여기에 나를 위해 그것이, 그것의 일부인 그 문제에 대처하는 코드의 일부를 변경 한하지만 문제는 여전히 존재
lut 28, 2014 1:19:56 PM org.zkoss.bind.impl.ParamCall call
SEVERE:
java.lang.NullPointerException
at controller.EditDocsController.open(EditDocsController.java:51) // the line editApplet.getArchive()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
lut 28, 2014 1:19:56 PM org.zkoss.bind.impl.BinderImpl$CommandEventListener onEvent
SEVERE: null
java.lang.NullPointerException
at controller.EditDocsController.open(EditDocsController.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
lut 28, 2014 1:19:56 PM org.zkoss.zk.ui.impl.UiEngineImpl handleError
SEVERE:
java.lang.NullPointerException
at controller.EditDocsController.open(EditDocsController.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
lut 28, 2014 1:21:21 PM org.zkoss.bind.impl.BinderImpl addPropertySaveBindings0
WARNING: component <Applet xLDQ7#myEditApplet> doesn't has event to save attribute model at [file:/C:/Users/bbur/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/RPO/index.zul, line:30]
가장 가치있는. , 내가 "오류가 난
<button label="otworz" onClick='myEditApplet.invoke("openDoc","1234")'/>
에 초기화 애플릿
<applet id="myEditApplet" code="applet.EditFileApplet" codebase="applet" archive="EditApplet.jar" width="30px" height="30px" style="border: 1px" />
변경 버튼 정의를이 사용하고 난
I 버튼"otworz "를 클릭 EditDocsController
에서 열기 방법을 삭제 애플릿의 메소드를 호출하지 못했습니다 : openDoc undefined "애플릿 클래스 (public void openDoc (String idDoc))에 메소드가 존재 함에도 불구하고. 그것으로 가장 짜증나는 것은 내가 '("초기화") myEditApplet.invoke'를 호출 할 때 모든 것이 있다는 바로
예외의 전체 스택 추적을 표시하십시오. –
답변으로 추가 정보를 게시하지 마십시오. 당신은 그렇게하기 위해 질문을 편집 할 수 있고해야합니다. –