我有一个在我的页面中多次使用的标签。它工作正常,直到我尝试更新每个 ajax 的标签。结果:只有第一个标签被更新。这是一个已知问题吗?我不确定,因为我无法打开 JIRA 页面:https ://issues.apache.org/jira/browse/wicket(始终获取 throbber)。我正在使用 wicket 版本 7.3.0
要重现此问题: 1.在您的页面上添加标签(java部分): 私有最终标签标签; .. label = new Label("yourLabel", "Your Text"); label.setOutputMarkupId(true); 添加(标签); ... 1. 在页面(html 部分)中多次添加标签(例如 4 次): ... <span wicket:id="yourLabel"/> <span wicket:id="yourLabel"/> <span wicket:id="yourLabel"/> <span wicket:id="yourLabel"/> ... 2.在你的页面中添加事件处理程序,例如ajax事件是UpdateEvent(java部分) ... @覆盖 公共无效事件(IEventevent){ if (event.getPayload() instanceof UpdateEvent) { //更新你的标签 label.setDefaultModelObject("新文本"); 目标.添加(标签); } }
=> 只有第一个标签被更新。我通过添加具有相同文本内容的 4 个不同标签实例来解决此问题。