使用动态创建的元素在wicket中选择Dropdown Box元素

时间:2011-10-19 07:07:02

标签: java wicket

如何在我正在创建和添加的下拉框中自动选择一个元素? 下面的代码创建了下拉框,我想选择与ExportConfiguration对象中的LanguageFormat属性对应的项。

编辑:我接受的答案让我走上正轨。我不得不在值列表中声明属性,导致它被自动分配。谢谢!

(Solution)
values.put(
    "exportConfigurationLanguageFormat",exportConfiguration.getLanguageFormat());

(/Solution)

//Language Format choices
ArrayList<String> languageFormatArray = new ArrayList<String>();

languageFormatArray.add(firstLanguage);
languageFormatArray.add(firstLanguage + "-" + firstLanguage.toUpperCase());
languageFormatArray.add(firstLanguage + "_" + firstLanguage.toUpperCase());           

exportConfigurationLanguageFormat = new DropDownChoice<String>(
    "exportConfigurationLanguageFormat", new PropertyModel<String>
    (values, "exportConfigurationLanguageFormat"), languageFormatArray);
exportConfigurationLanguageFormat.setRequired(true);

exportConfigurationLanguageFormatFeedback.add(exportConfigurationLanguageFormat);

2 个答案:

答案 0 :(得分:1)

作为@andypandy already pointed outDropDownChoice将检索/存储与exportConfigurationLanguageFormat对象的属性values相关的值。

确保它已有值,同样重要的是,确保其值是DropDownChoice选项中的值之一。实际上,如果equals()返回true,则id应该足够了。

答案 1 :(得分:0)

如果exportConfigurationLanguageFormat对象的values属性与呈现页面时languageFormatArray中的某个条目匹配,则会自动执行此操作。

我建议检查languageFormatArray.contains(values.getExportConfigurationLanguageFormat())