我想在<网格>下的<模板>中使用类似“ each.xxxClass.propertyAAA”之类的东西,但徒劳。
使用Eclipse IDE,当我尝试键入“点”(“。”)字符时,将自动检测并显示each.myRecogResultClass1.imgfname。因此在运行程序之前看起来还不错。
我为此苦了3个小时。
在.zul页面中:
<grid id="grid" mold="paging" pageSize="4" model="@bind(vm3.result4List)">
<columns>
<column label="1"/>
</columns>
<template name="model">
<row>
<image src="@bind(each.myRecogResultClass1.imgfname)"></image>
</row>
</template>
</grid>
在Java端,数据结构为:
@Wire
public ListModelList<RecogResult4Data> result4List = new ListModelList<RecogResult4Data>();
/*子類別subclasses*/
public class MyRecogResultClass{
public String imgfname="";
public ListModelList<MyRecogObj> tag = new ListModelList<MyRecogObj>();
public MyRecogResultClass(String imgfname, ListModelList<MyRecogObj> tag) {
this.imgfname = imgfname;
this.tag = tag;
}
public String getImgfname() {
return imgfname;
}
public void setImgfname(String imgfname) {
this.imgfname = imgfname;
}
public ListModelList<MyRecogObj> getTag() {
return tag;
}
public void setTag(ListModelList<MyRecogObj> tag) {
this.tag = tag;
}
}
public class MyRecogObj{
public String name = "";
public String top = "";
public String left = "";
public MyRecogObj(String name, String top, String left) {
this.name = name;
this.top = top;
this.left = left;
}
public String getName() {
return name;
}
public String getTop() {
return top;
}
public String getLeft() {
return left;
}
public void setName(String name) {
this.name = name;
}
public void setTop(String top) {
this.top = top;
}
public void setLeft(String left) {
this.left = left;
}
}
public class RecogResult4Data{
public MyRecogResultClass myRecogResultClass1;
public MyRecogResultClass myRecogResultClass2;
public MyRecogResultClass myRecogResultClass3;
public MyRecogResultClass myRecogResultClass4;
public RecogResult4Data(MyRecogResultClass myRecogResultClass1,
MyRecogResultClass myRecogResultClass2,
MyRecogResultClass myRecogResultClass3,
MyRecogResultClass myRecogResultClass4) {
this.myRecogResultClass1 = myRecogResultClass1;
this.myRecogResultClass2 = myRecogResultClass2;
this.myRecogResultClass3 = myRecogResultClass3;
this.myRecogResultClass4 = myRecogResultClass4;
}
public MyRecogResultClass getMyRecogResultClass1() {
return myRecogResultClass1;
}
public MyRecogResultClass getMyRecogResultClass2() {
return myRecogResultClass2;
}
public MyRecogResultClass getMyRecogResultClass3() {
return myRecogResultClass3;
}
public MyRecogResultClass getMyRecogResultClass4() {
return myRecogResultClass4;
}
public void setMyRecogResultClass1(MyRecogResultClass myRecogResultClass1) {
this.myRecogResultClass1 = myRecogResultClass1;
}
public void setMyRecogResultClass2(MyRecogResultClass myRecogResultClass2) {
this.myRecogResultClass2 = myRecogResultClass2;
}
public void setMyRecogResultClass3(MyRecogResultClass myRecogResultClass3) {
this.myRecogResultClass3 = myRecogResultClass3;
}
public void setMyRecogResultClass4(MyRecogResultClass myRecogResultClass4) {
this.myRecogResultClass4 = myRecogResultClass4;
}
}
错误:
在om.syscom.page.objectRecognizeClassification.ObjectRecognizeResultViewModel类型上找不到属性“ result4List”
但是,getter和setter都对result4List公开;