【发布时间】:2021-05-10 18:24:37
【问题描述】:
我正在尝试参数化一个字符串并将该字符串设置为模型的结果:
SomePanel.java
public SomePanel( String id, IModel<Person> personModel)
{
tallLabel = new Label( "height", new LoadableDetachableModel() {
pubic String load() {
Person person = personModel.getObject();
boolean isTall = apiCallToCheckIfTall( person );
// 'name' is a property on PersonModel
String name = person.getName();
String tallString = MessageFormat.format(getString("Tall.Label"), name );
String shortString = MessageFormat.format(getString("Short.Label"), name );
return isTall ? tallString : shortString;
}
});
add(tallLabel);
}
文本属性
Tall.Label = ${name} is tall.
Short.Label = ${name} is short.
我尝试实现solution,但contact.getName() 产生错误。我的理解是 personModel.getObject() 会给我实际的对象(它定义了 getter getName)所以不知道为什么这会产生错误。
【问题讨论】:
-
究竟是什么错误?
TallModel和ShortModel是什么?它们之前没有定义,看起来像带有静态方法的类。 -
@martin-g 我修改了这个问题。很抱歉造成混乱。