Понимание JSFs options.params в jsf.ajax.request - PullRequest
0 голосов
/ 18 мая 2019

Мы перенесли наше приложение на основе JSF 2.2 в JSF 2.3. За исключением некоторых мелких проблем, мы смогли все запустить и запустить.Для одного представления мы используем JSF-компонент Butterfaces, особенно компонент дерева.В JSF 2.3 было невозможно выбрать узел и показать детали этого узла в другом контейнере.Соответствующий Ajax-запрос отправляет идентификатор узла как options.params.Это хорошо работало с JSF 2.2, но больше не работает с JSF 2.3.Мы все еще находимся на Butterfaces 2 (который должен работать из-за обратной совместимости), но даже в витрине Butterfaces 3 на Java EE 8 выбор через Ajax, похоже, не работает.

Я посмотрел наjsf.ajax.request Javascript-метод JSF 2.3, отладил его и понял, что параметр был проигнорирован и удален, так как он кажется неправильным форматом.Таким образом, я обезьяна пропатчил метод в нашем приложении с помощью этого маленького глупого фрагмента кода, чтобы получить параметр, отправляемый на сервер через запрос ajax:

var originalJsfAjaxRequest = jsf.ajax.request;
jsf.ajax.request = function (source, event, options) {
    options.params = {params: options.params};
    originalJsfAjaxRequest.apply(this, [source, event, options]);
}

Вот и все, он снова работает нормально.

Итак, мой вопрос, где проблема должна быть.Это проблема в JSF, чтобы игнорировать такого рода параметры.Или это проблема того, что Butterfaces неправильно использует параметры?Как правильно использовать options.params?

Заранее спасибо

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