我正在使用 ZK 在我的 Java 代码中创建 2 个ListBox
,并为这些 ListBox
个唯一的 Id。
- 客户从下拉框中选择值。
- 点击保存按钮
- 值传递到基础服务,状态已更新。
- 我们在另一个事件的帮助下刷新页面。
这是我创建列表框的方式
Listbox listbox=createListbox(widget,OrderStatus.ORDERSTATUS.class, null,orderStatus);
listbox.setId(ORDER_STATUS_ID);
第一次一切正常,但是当我下次这样做时,虽然底层代码工作正常,但我第二次收到以下错误消息,依此类推。
Not unique in the new ID space: orderStatusId
问题与在此处输入链接描述有关,但作为ZK的新手,不确定实现这一目标的最佳方法是什么。对我来说,当我们在成功更新订单状态后刷新页面时,似乎有问题,因为代码再次执行并且似乎已经将 Id 分配给它。
页面刷新代码
button.addEventListener("onClick", new EventListener()
{
public void onEvent(Event event)
throws Exception
{
DetailsWidgetRenderer.this.handleRefreshEvent(widget, event);
}
});
使用 ZK 时的一个常见错误是停留在脑海中的请求/响应周期中。ZK 不执行请求/响应周期。算了。ZK就像Swing:你创建UI,把你的数据放在模型中,然后让框架渲染一切。
在您的情况下,您可能会尝试再次将ListBox
添加到 UI 中(因为这是您习惯于 JSP 的方式)。别这样。只需更新附加到ListBox
的模型,ZK将为您刷新HTML。