⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 countrymodel.java

📁 STRUTS数据库项目开发宝典
💻 JAVA
字号:
package com.relationinfo.webapp.action;import java.text.Collator;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.List;import java.util.Locale;import java.util.Map;import com.relationinfo.model.LabelValue;public class CountryModel {    /**     * Build a List of LabelValues for all the available countries. Uses     * the two letter uppercase ISO name of the country as the value and the     * localized country name as the label.     *     * @param locale The Locale used to localize the country names.     *     * @return List of LabelValues for all available countries.     */    public Map getCountries(Locale locale) {        final String EMPTY = "";        final Locale[] available = Locale.getAvailableLocales();        List countries = new ArrayList();        countries.add(new LabelValue("",""));        for (int i = 0; i < available.length; i++) {            final String iso = available[i].getCountry();            final String name = available[i].getDisplayCountry(locale);            if (!EMPTY.equals(iso) && !EMPTY.equals(name)) {                LabelValue country = new LabelValue(name, iso);                if (!countries.contains(country)) {                    countries.add(new LabelValue(name, iso));                }            }        }        Collections.sort(countries, new LabelValueComparator(locale));                Map options = new LinkedHashMap();        // loop through and convert list to a JSF-Friendly Map for a <select>        for (Iterator it = countries.iterator(); it.hasNext();) {            LabelValue option = (LabelValue) it.next();            if (!options.containsValue(option.getValue())) {                options.put(option.getLabel(), option.getValue());            }        }        return options;    }    /**     * Class to compare LabelValues using their labels with     * locale-sensitive behaviour.     */    public class LabelValueComparator implements Comparator {        private Comparator c;        /**         * Creates a new LabelValueComparator object.         *         * @param locale The Locale used for localized String comparison.         */        public LabelValueComparator(Locale locale) {            c = Collator.getInstance(locale);        }        /**         * Compares the localized labels of two LabelValues.         *         * @param o1 The first LabelValue to compare.         * @param o2 The second LabelValue to compare.         *         * @return The value returned by comparing the localized labels.         */        public final int compare(Object o1, Object o2) {            LabelValue lhs = (LabelValue) o1;            LabelValue rhs = (LabelValue) o2;            return c.compare(lhs.getLabel(), rhs.getLabel());        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -