0
我在玩wicket的窗體輸入組件。我試圖把一個enum
到DropDownMenu
:Wicket資源 - 找不到字符串?
public enum Choice { ONE, TWO, THREE }
cz.oz.wicket.pages.form.FormPage.java
--------------
.add(new DropDownChoice("choice",
Arrays.asList(Choice.values()), new EnumChoiceRenderer())
)
,並增加了屬性文件:
cz.oz.wicket.pages.form.FormPage.properties
--------------
Choice.ONE = Jedna
Choice.TWO = Dvě
Choice.THREE = Tři
據我讀過,它應該工作。
但我得到:
java.util.MissingResourceException: Unable to find property: 'Choice.ONE'
at org.apache.wicket.Localizer.getString(Localizer.java:344)
at org.apache.wicket.Localizer.getString(Localizer.java:100)
at org.apache.wicket.markup.html.form.EnumChoiceRenderer.getDisplayValue(EnumChoiceRenderer.java:82)
at org.apache.wicket.markup.html.form.EnumChoiceRenderer.getDisplayValue(EnumChoiceRenderer.java:39)
at org.apache.wicket.markup.html.form.AbstractChoice.appendOptionHtml(AbstractChoice.java:384)
at org.apache.wicket.markup.html.form.AbstractChoice.onComponentTagBody(AbstractChoice.java:361)
at org.apache.wicket.Component.renderComponent(Component.java:2619)
...
有什麼不對?
感謝,
Ondra
你是對的 - 謝謝:) 順便說一句 - 爲什麼不DropDownChoice的構造函數將自身設置爲renrerer的組件引用(如果該構造沒有參數)?我認爲這不會傷害任何東西。我想提交RFE。 WDYT? – 2010-07-11 23:50:14
但是,它會尋找與DropDownChoice相關的屬性文件,它必須在wicket庫中找到。而且沒有辦法預測你想要的特性與你的特定枚舉相關聯。 您可能會專門爲此枚舉定義DropDownChoice的子類,並使子類擁有資源,這將允許您將這些東西整齊地綁定在一起。 – 2010-07-12 00:27:36
好點!我仍然習慣了Wicket聰明地使用Java的特性。謝謝。 – 2010-07-17 00:07:11