ZK:从 java 中将值加载到选择框
ZK : Loading values into Selectbox from java
我想创建一个选择框来将一组值加载到其中。
我已经编写了代码,但是值没有加载到选择框中,所以它是空的。我认为,控制器和视图之间的连接是不正确的。你能帮忙吗?提前致谢。
ZUL 页面:
<zk xmlns="">
<window id="win" apply="hw.SalesController">
<grid sclass="editHeader">
<columns visible="false">
<column width="150px"/>
<column/>
</columns>
<rows>
<row>
<cell>
Sales Type
</cell>
<cell>
<!--SELECTBOX-->
<selectbox id="salesTypeListbox" model="${$composer.salesModel}"
>
<template name="model">
<listitem label="${each}" />
</template>
</selectbox>
</cell>
</row>
</rows>
</grid>
</window>
</zk>
SalesController.java:
public class SalesController extends SelectorComposer<window> {
private ListModelList<String> salesModel = new ListModelList<String>(SalesHeader.getSalesType());
}
SalesHeader.java:
public class SalesHeader {
public static List<String> getSalesType() {
return Arrays.asList(new String[]{"BU-0", "BU-1", "BU-2", "BU-3"});
}
}
有两个问题:
第一个错误是
Property 'salesModel' not found on type [your composer class]
这是因为您的作曲家缺少 getter 方法:
public ListModelList<String> getSalesModel() {
return salesModel;
}
第二个错误与选择框模板中的 listitem
元素有关。它导致:
Listitem's parent must be Listbox, not Selectbox
您可以通过简单地在模板中使用 each
或 label
元素来解决这个问题:
<template name="model">
${each}
</template>
Here 您可以找到一个有效的 ZKFiddle 示例。
我想创建一个选择框来将一组值加载到其中。
我已经编写了代码,但是值没有加载到选择框中,所以它是空的。我认为,控制器和视图之间的连接是不正确的。你能帮忙吗?提前致谢。
ZUL 页面:
<zk xmlns="">
<window id="win" apply="hw.SalesController">
<grid sclass="editHeader">
<columns visible="false">
<column width="150px"/>
<column/>
</columns>
<rows>
<row>
<cell>
Sales Type
</cell>
<cell>
<!--SELECTBOX-->
<selectbox id="salesTypeListbox" model="${$composer.salesModel}"
>
<template name="model">
<listitem label="${each}" />
</template>
</selectbox>
</cell>
</row>
</rows>
</grid>
</window>
</zk>
SalesController.java:
public class SalesController extends SelectorComposer<window> {
private ListModelList<String> salesModel = new ListModelList<String>(SalesHeader.getSalesType());
}
SalesHeader.java:
public class SalesHeader {
public static List<String> getSalesType() {
return Arrays.asList(new String[]{"BU-0", "BU-1", "BU-2", "BU-3"});
}
}
有两个问题:
第一个错误是
Property 'salesModel' not found on type [your composer class]
这是因为您的作曲家缺少 getter 方法:
public ListModelList<String> getSalesModel() {
return salesModel;
}
第二个错误与选择框模板中的 listitem
元素有关。它导致:
Listitem's parent must be Listbox, not Selectbox
您可以通过简单地在模板中使用 each
或 label
元素来解决这个问题:
<template name="model">
${each}
</template>
Here 您可以找到一个有效的 ZKFiddle 示例。