java - Wicket 口更改标签/文本字段值

标签 java jakarta-ee replace label wicket

我正在尝试学习 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);

关于java - Wicket 口更改标签/文本字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15919721/

相关文章:

java - Java世界中的类vs包vs模块vs组件vs容器vs服务vs平台

Java Socket 多线程文件传输

php - 使用正则表达式搜索并替换数据库中存在的电子邮件 ID

python - 替换字符串中的日期时间字符

java - 应该如何将 tomcat 与现有项目一起使用?

java - Android 通过 onTouch 像书一样改变 Activity

java - 如何在 Eclipse 中启动 Java EE 6 项目

python - Python 中的英文键盘文本到俄语

java - java keyhandler 中的键盘灵敏度较低?

java - 奇数和偶数 Java 更新之间有什么区别?