Wicket-创建动态标签

Wicket-创建动态标签,wicket,Wicket,我想在wicket项目中创建一个动态标签 我有一个变量x,它是布尔型的。如果该值为真,则标签应输出“文本1”。否则应显示“文本2” 我不想从外部设置值,但是标签应该知道它应该显示什么类型的值 我必须重写哪种方法才能执行此操作?您不必重写刚刚放入正确模型中的任何方法 new Label("id", () -> x ? "Text 1" : "Text 2"); 您不必重写任何方法,只要将其放入适当的模型中即可 new Label(

我想在wicket项目中创建一个动态标签

我有一个变量x,它是布尔型的。如果该值为真,则标签应输出“文本1”。否则应显示“文本2”

我不想从外部设置值,但是标签应该知道它应该显示什么类型的值


我必须重写哪种方法才能执行此操作?

您不必重写刚刚放入正确模型中的任何方法

new Label("id", () -> x ? "Text 1" : "Text 2");

您不必重写任何方法,只要将其放入适当的模型中即可

new Label("id", () -> x ? "Text 1" : "Text 2");

非常感谢你的回答。看起来很漂亮。不幸的是,我有一个较长的查询。整个“块”的正确语法是什么?{}不起作用。答案中使用的lambda只是一个简短的编写方法:
newimodel(){@Override public String get(){return…}}
,它已经非常有效了。但是,我现在想在wicket页面中添加一个AjaxButton。不幸的是,AjaxButton需要一个表单。然而,我想补充这一点。各种新闻组建议使用AjaxLink,但在标记中使用输入:按钮。到目前为止,这种方法效果非常好。但是,我现在想动态调整按钮的文本。不幸的是,以下代码在这里不起作用:新的AjaxLInk(“id”,()->x?”文本1:“文本2”);正确的实现方式是什么?有没有比覆盖onComponentTag上的value属性更好的方法?请创建新问题。非常感谢您的回答。看起来很漂亮。不幸的是,我有一个较长的查询。整个“块”的正确语法是什么?{}不起作用。答案中使用的lambda只是一个简短的编写方法:
newimodel(){@Override public String get(){return…}}
,它已经非常有效了。但是,我现在想在wicket页面中添加一个AjaxButton。不幸的是,AjaxButton需要一个表单。然而,我想补充这一点。各种新闻组建议使用AjaxLink,但在标记中使用输入:按钮。到目前为止,这种方法效果非常好。但是,我现在想动态调整按钮的文本。不幸的是,以下代码在这里不起作用:新的AjaxLInk(“id”,()->x?”文本1:“文本2”);正确的实现方式是什么?是否有比覆盖onComponentTag上的value属性更好的方法?请创建新问题。