Проблема с комбо-компонентом - PullRequest
1 голос
/ 21 февраля 2011

У меня есть представитель класса страны

СТРАНОВЫЙ КЛАСС

public class Country {
 private String countryCode;
 private String countryDescription;

public void setCountryDescription(String countryDescription) {
        this.countryDescription = countryDescription;
    }

    public String getCountryDescription() {
        return countryDescription;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    public String getCountryCode() {
        return countryCode;
    }
}

Объект У пользователя есть поле Страна

public class User {
...

    private Country country;

...
}

В моем контроллере:

public ModelAndView showUser() {
ModelAndView mav = new ModelAndView();
List<Country> list = new ArrayList();
list = dao.getCountryList(); // codes: 'DE', 'EN', 'JA' ...
mav.getModel.put("countries", list);
User u =-new User();
return mav;
}

В моем JSP

<td><form:label path="country">
    <spring:message code="label.country" />
    </form:label></td>
<td><form:select path="country">
    <form:option value="0" label="..." />
    <form:options items="${countries}"  itemValue="countryCode" itemLabel="countryDescription" />
    </form:select></td>
<td><form:errors path="country" cssClass="error" /></td>

Свойства моего сообщения

messages_en.properties

EN=English
JP=Japan
DE=Germany 

messages_de.properties

EN=Englisch
JP=Japan
DE=Deutschland

Как написать комбо, показавший стране право на язык? Могу ли я использовать что-то подобное <spring:message code="label.countryCode" /> ??

1 Ответ

0 голосов
/ 22 февраля 2011

Если вы используете теги <form:options>, я не думаю, что вы сможете отобразить правильный язык из файла свойств.Обходной путь - создать тег <option> самостоятельно: -

<form:select path="country">
    <form:option value="0" label="..." />

    <c:forEach var="country" items="${countries}">
        <option value="${country.countryCode}"><spring:message code="${country.countryCode}" /></option>
    </c:forEach>
</form:select>

Имейте в виду, что если вы используете этот подход, то вы не используете свойство countryDescription из класса Country, посколькуописание страны приходит непосредственно из файла свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...