0

我的老板想在反馈表单中添加一个选择表单,要求用户选择他/她的国家。我可以通过以下方式实现:

    Select country = form.addItem().addSelect("country ");
    userType.setLabel("Country");
    userType.addOption("","Please select your country");
    userType.addOption("ABW","Aruba");
    userType.addOption("AFG","Afghanistan");
    <----- Rest of countries from A to Z --->
    userType.setOptionSelected(parameters.getParameter("country",""));
    TextArea countryOther = form.addItem().addTextArea("countryOther");
    countryOther.setValue(parameters.getParameter("countryOther", ""));

我想避免将代码与非常长的国家列表混淆。是否有替代方法,例如将国家/地区列表放在一个单独的位置并仅提取此信息?提前致谢。

4

1 回答 1

3

一种简单的方法是创建一个配置文件:config/modules/countries.cfg 并填写您的列表,如配置属性:

ABW=Aruba
AFG=Afghanistan
...

然后使用ConfigurationManager

Select country = form.addItem().addSelect("country ");
country.setLabel("Country");
country.addOption("", "Please select your country");

Enumeration<?> countries = ConfigurationManager.propertyNames("countries");
while (countries.hasMoreElements()) {
    String key = (String) countries.nextElement();
    String value = ConfigurationManager.getProperty("countries", key);
    country.addOption(key, value);
}
于 2014-10-10T15:18:43.547 回答