我正在尝试学习Wicket。我遇到的问题之一是更改标签等组件的值。

这就是我声明标签的方式:

Label message = new Label("message", new Model<String>(""));
message .setOutputMarkupId(true);
add(message );

我能找到的唯一解决方案:
Label newMessage= new Label(message.getId(), "MESSAGE");
newMessage.setOutputMarkupId(true);
message.replaceWith(newMessage);
target.add(newMessage);

有没有更好/更简便的方法来编辑Wicket标签的值并将此新值显示给用户?

谢谢!

最佳答案

我认为您不了解什么是模型。您的示例可以如下重写

Model<String> strMdl = Model.of("My old message");
Label msg = new Label("label", strMdl);
msg.setOutputMarkupId(true);
add(msg);

在你的ajax事件中
strMdl.setObject("My new message");
target.add(msg);

10-06 07:29
查看更多