Text 我可以在Wicket中将变量插值与StringResourceModels混合使用吗?
我想添加一个显示如下消息的标签:Text 我可以在Wicket中将变量插值与StringResourceModels混合使用吗?,text,properties,wicket,string-interpolation,Text,Properties,Wicket,String Interpolation,我想添加一个显示如下消息的标签: privateFieldOfModel(插值变量:privateFieldOfModel) 例如:无名氏(身份证号:63412313)、无名氏(帽子身份证号:63412313) 我的属性文件如下所示: languageDependentCode=CodeInSelectedLanguage //property is different for every lang labelInfo=${name} (${languageDependentCode}: ${i
privateFieldOfModel(插值变量:privateFieldOfModel)
例如:无名氏(身份证号:63412313)、无名氏(帽子身份证号:63412313) 我的属性文件如下所示:
languageDependentCode=CodeInSelectedLanguage //property is different for every lang
labelInfo=${name} (${languageDependentCode}: ${id})
我的Java:
div.add(new Label("infoLabel", new StringResourceModel("labelInfo",
new Model<>(myModel))));
但是,运行它将引发此异常:
org.apache.wicket.WicketRuntimeException:
No get method defined for class: class MyModel expression: languageDependentCode
我能理解。是否有一种方法可以将languageDependentCode
插入此属性,而不让wicket认为它必须来自MyModel
?注:
MessageFormat.format()
不符合我的目的,因为它不会在语言更改时取代${languageDependentCode}
。您需要使用NestedStringResourceLoader(从7.4.0/8.0.0-M1开始提供,请参阅)
请参阅提交测试/示例:您需要使用NestedStringResourceLoader(从7.4.0/8.0.0-M1开始提供,请参阅)
请参阅带有测试/示例的提交:不幸的是,我一直使用
Wicket 7.3
Wicket是开源的。您可以将这个类复制到您的应用程序中并使用它代码>?它不会删除我所有的其他加载程序吗?它们将被嵌套。单个加载程序将委托给他们。不幸的是,我一直使用Wicket 7.3
Wicket是开源的。您可以将这个类复制到您的应用程序中并使用它代码>?它不会删除我所有的其他加载程序吗?它们将被嵌套。单个加载程序将委托给他们。
org.apache.wicket.WicketRuntimeException:
No get method defined for class: class MyModel expression: languageDependentCode