Немного предыстории: у меня есть два элемента h: dataTable на моей странице .xhtml. Когда пользователи щелкают правой кнопкой мыши по ячейке в первой таблице данных, на странице отображается контекстное меню. Выбор определенного пункта меню из этого контекстного меню в идеале должен обновлять содержимое другого объекта.
Чтобы реализовать это, я создал функцию javascript в JQuery, которая использует jsf.ajax.request () для отправки запроса AJAX моему компоненту поддержки. Этот вызов выглядит следующим образом:
jsf.ajax.request($eventCell, null, {execute: 'selectedRowId selectedColumnId',
render: bugsTable,
assignBugMode : "1",
reportsToCompare : $('input[id$="reportsToCompare"]').val(),
cellRowId: $.trim($rowId),
cellColumnId: $.trim($columnId)
});
Здесь «bugsTable» - это идентификатор второго элемента h: dataTable, который необходимо обновить после возврата вызова AJAX. «selectedRowId» и «selectedColumnId» являются элементами «h: inputText» на странице .xhtml, которые мне нужно обработать на стороне сервера, чтобы вычислить правильные значения, которые будут отображены в bugsTable.
Я наблюдаю следующее: когда я отправляю запрос AJAX на сервер, часть выполнения жизненного цикла JSF выполняется правильно, но элемент «bugsTable» не обновляется. В firebug я мог видеть, что запрос AJAX привел к следующему ответу от сервера:
<partial-response>
<changes>
<update id="javax.faces.ViewState">2177233720285299449:-1589577009450482760</update>
</changes>
<extension primefacesCallbackParam="validationFailed">{"validationFailed":false}</extension>
</partial-response>
Что я делаю не так?