【问题标题】:Wicket change label/textfield value检票口更改标签/文本字段值
【发布时间】:2023-12-27 22:31:02
【问题描述】:

我正在努力学习 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 标签的值并向用户显示这个新值?

谢谢!

【问题讨论】:

    标签: java jakarta-ee replace label wicket


    【解决方案1】:

    我想你不明白什么是模型。你的例子可以改写如下

    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);
    

    【讨论】:

    • 感谢您的回答。我不明白他们,但现在我明白了。这是完美的工作
    最近更新 更多