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