Перемещение selectItems между двумя selectManyListBoxes.Как предотвратить неудачу проверки JSF - PullRequest
1 голос
/ 21 ноября 2011

Страница начинается с двух selectManyListBoxes.Тот, что справа начинается пустым.Затем я перемещаю элементы вправо с помощью JavaScript.Когда я отправляю форму, javascript выделяет все элементы в listBox справа перед отправкой.JSF не проходит проверку, потому что теперь отправляются элементы, которых изначально не было.

Так что мое хакерское решение - это скрытый ввод на странице.После отправки формы javascript поместит все элементы, которые находятся в правом listBox в этот скрытый ввод, и отмените выбор всех элементов в обоих listBoxes.Итак, я в основном взломал функцию безопасности JSF.

Мой вопрос: есть ли лучший / более официальный / санкционированный способ сделать это?Я уверен, что это делается все время.Похоже, довольно общая черта.

1 Ответ

1 голос
/ 21 ноября 2011

Перемещение предметов по JSF вместо JS. Поэтому удалите все эти функции JS и замените их методами действия JSF. Если вы еще не используете JSF 2.0, который предлагает тег <f:ajax> для лучшего взаимодействия с пользователем, я предлагаю поискать стороннюю библиотеку компонентов, которая предлагает возможности Ajax или даже поддерживает целый компонент для нее. Например, RichFaces имеет <rich:pickList> именно для этой цели. В противном случае вам придется использовать два <h:selectManyListbox> компонента с кучей командных кнопок для перемещения одного к другому.

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