Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JSF h:selectOneMenu определенный в JSP


Автор: Alexis 2.6.2007, 10:54
Часа три сидел над одной страницей   smile 
Вроде бы все правильно, но сабмиты вообще не вызываются. Что только не менял. Наконец-то догадался вывести ошибки валидации. Оказалось, что валидатору не нравится меню выбора месяца, пункты которого заданы в JSP.
Код

<h:selectOneMenu id="month" value="#{addBulletinFormBean.month}">
    <f:selectItem itemValue="1"  itemLabel="#{msg.january}" />
    <f:selectItem itemValue="2"  itemLabel="#{msg.february}" />
    <f:selectItem itemValue="3"  itemLabel="#{msg.march}" />
    <f:selectItem itemValue="4"  itemLabel="#{msg.april}" />
    <f:selectItem itemValue="5"  itemLabel="#{msg.may}" />
    <f:selectItem itemValue="6"  itemLabel="#{msg.june}" />
    <f:selectItem itemValue="7"  itemLabel="#{msg.july}" />
    <f:selectItem itemValue="8"  itemLabel="#{msg.august}" />
    <f:selectItem itemValue="9"  itemLabel="#{msg.september}" />
    <f:selectItem itemValue="10" itemLabel="#{msg.october}" />
    <f:selectItem itemValue="11" itemLabel="#{msg.november}" />
    <f:selectItem itemValue="12" itemLabel="#{msg.december}" />
</h:selectOneMenu>

Бин:
Код

private int month;

public int getMonth() {
    return month;
}

public void setMonth(int month) {
    this.month = month;
}


На все это валидатор пишет:
Цитата

Validation Error: {0}Value is not valid


Пробовал добавить конвертер (<f:convertNumber type="number" />), та же ошибка. На той же странице есть меню выбора года, пункты которого генерируются в бине, там все работает отлично. Но переносить генерацию пунктов меню выбора месяца в бин не желательно.

Используется JSF 1.1

Автор: Maksym 4.6.2007, 12:14
Цитата(Alexis @  2.6.2007,  10:54 Найти цитируемый пост)
На все это валидатор пишет:

Какой валидатор и где он подключен?
Цитата(Alexis @  2.6.2007,  10:54 Найти цитируемый пост)
Но переносить генерацию пунктов меню выбора месяца в бин не желательно.

Почему? (если дело в интернационализации, то в get-ере можно проверять текущую локаль)

Автор: Alexis 4.6.2007, 21:23
Цитата(Maksym @  4.6.2007,  12:14 Найти цитируемый пост)
Какой валидатор и где он подключен?

Стандартный, который, насколько я понимаю, проверяет соответствие типов. Специально никакие валидаторы не подключал.
Цитата(Maksym @  4.6.2007,  12:14 Найти цитируемый пост)
Почему? (если дело в интернационализации, то в get-ере можно проверять текущую локаль)

По-моему, как-то не очень хорошо получается, но, скорее всего, так и сделаю. Да и в проблеме хотелось бы разобраться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)