0
package com.viewmodel;
import java.util.ArrayList;
import java.util.List;
import org.zkoss.bind.annotation.AfterCompose;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.ContextParam;
import org.zkoss.bind.annotation.ContextType;
import org.zkoss.zk.ui.Component;
import com.binding.BindComponent;
public class BindingViewModel {
BindComponent compo = null;
private List<BindComponent> dataList;
@AfterCompose
public void afterCompose(@ContextParam(ContextType.VIEW) Component view){
dataList = new ArrayList<BindComponent>();
compo = new BindComponent();
compo.setDecimalbox("12.67");
compo.setTextbox("hariom");
compo.setDoublebox("123");
compo.setIntbox(12);
dataList.add(compo);
}
public BindComponent getCompo() {
return compo;
}
public void setCompo(BindComponent compo) {
this.compo = compo;
}
public List<BindComponent> getDataList() {
return dataList;
}
public void setDataList(List<BindComponent> dataList) {
this.dataList = dataList;
}
}
변수 문자열과 ZUL 페이지와 DecimalboxDoublebox 및 처럼 거의 ZK 구성 요소를 결합하는
<?page title="Auto Generated index.zul"?>
<window title="Hello World!!" apply="org.zkoss.bind.BindComposer"
border="normal" width="200px"
viewModel="@id('vm') @init('com.viewmodel.BindingViewModel')">
<label value="You are using: ${desktop.webApp.version}" />
<listbox model="@bind(vm.dataList)">
<listhead>
<listheader value="Textbox"></listheader>
<listheader value="DoubleBox"></listheader>
<listheader value="IntBox"></listheader>
<listheader value="DecimalBox"></listheader>
</listhead>
<template name="model" var="mymodel">
<listitem>
<listcell>
<textbox value="@bind(mymodel.textbox)"></textbox>
</listcell>
<listcell>
<doublebox value="@bind(mymodel.doublebox)"></doublebox>
</listcell>
<listcell>
<intbox value="@bind(mymodel.intbox)"></intbox>
</listcell>
<listcell>
<decimalbox value="@bind(mymodel.decimalbox)"></decimalbox>
</listcell>
</listitem>
</template>
</listbox>
</window>
시도와 콩 클래스 나처럼 .. ..
public class BindComponent {
private String textbox;
private int intbox;
private String doublebox;
private String decimalbox;
public String getTextbox() {
return textbox;
}
public void setTextbox(String textbox) {
this.textbox = textbox;
}
public int getIntbox() {
return intbox;
}
public void setIntbox(int intbox) {
this.intbox = intbox;
}
public String getDoublebox() {
return doublebox;
}
public void setDoublebox(String doublebox) {
this.doublebox = doublebox;
}
public String getDecimalbox() {
return decimalbox;
}
public void setDecimalbox(String decimalbox) {
this.decimalbox = decimalbox;
}
}
이제는 zul 페이지에서 값을 변경하려고 할 때 String 변수로 zul 값을 바인딩하기 때문에 메서드가 호출되지 않습니다. 어느 누구라도 코드 문제가 무엇인지 말해 줄 수 있습니까?
나빌을 위해 내가 doublebox 진수 상자에 대해하지 intbox..only이 이야기하고 있어야 문제가
Decimalbox#getValue()
반환 생각 String에서 구성 요소를 바인딩하면 문제가 발생합니다. –오류를 조금 더 설명 할 수 있습니까? 나는 네가 옳다고 생각하지 않는다. –
사실 내가 질문에 언급 한대로 문자열 변수와 함께 doulebox 및 decimalbox를 바인딩 할 때 doublebox 또는 decimalbox에 일부 값을 입력 할 때 set 메소드가 Java 코드에서 업데이트되지 않도록 값이 지정되지 않음 –