Почему мне не нужен специальный конвертер для моих f: selectItems? - PullRequest
0 голосов
/ 01 июня 2018

Я сделал корпоративное приложение на Java (NetBeans 8.2), которое имеет 2 модуля EJB и одно веб-приложение на основе JSF 2.2.Приложение работает в моей версии NetBeans, но когда я переношу это приложение на другой компьютер и разверну на нем, оно показывает некоторые ошибки.Место, где проблема, выглядит следующим образом:

                <h:selectManyListbox class = "selectManyListBox" id="parkiralista" value="#{pregled.odabranaParkiralista}" >
                    <f:ajax event="valueChange" execute="@this" render="" />
                    <f:selectItems value="#{pregled.popisParkiralista}"
                                   var="p"
                                   itemLabel="#{p.adresa.concat('; ').concat(p.naziv).concat('; ').concat(p.id.toString())}"
                                   itemValue="#{p}"/>
                </h:selectManyListbox>

Так что этот itemValue="#{p}"/> является объектом типа Parkiralista, и у меня нет никакого специального конвертера для преобразования его обратно в объект.И это работает на моем компьютере, хотя у меня нет собственного конвертера.Но когда я переношу приложение на другой компьютер и разверну его там, оно не будет работать, и NetBeans отобразит эту ошибку: java.lang.String cannot be cast to org.foi.nwtis.ivicelig.ejb.eb.Parkiralista.Итак, мой вопрос, почему это работает на моем первом компьютере, а не на моем втором компьютере.Новая версия JSF поддерживает itemLabel с объектом и без конвертера?Спасибо.

1 Ответ

0 голосов
/ 06 июня 2018

Поддерживает ли новая версия JSF itemLabel с объект и без конвертера?

Это верно.Начиная с JSF 2.3, явный преобразователь не требуется для <h:selectManyXxx> компонентов, связанных с List<T>.Это было реализовано как часть спецификации выпуск 1422 .

По-видимому, вы фактически выполняли Java EE 8 / JSF 2.3 в одной среде и Java EE 7 / JSF 2.2 в другой среде.Это не очень хороший способ разработки приложений.Вы должны разрабатывать против предполагаемой минимально поддерживаемой версии во всех средах разработки.

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