使用Javascript中的jsf.ajax.request在JSF 2.0中执行AJAX调用

时间:2012-03-28 17:33:10

标签: ajax jsf

一些背景:我的.xhtml页面中有两个'h:dataTable'元素。当用户右键单击第一个数据表中的单元格时,该页面将显示上下文菜单。从此上下文菜单中选择特定菜单项应理想地更新其他数据表的内容。

为了实现这一点,我在JQuery中创建了一个javascript函数,它使用jsf.ajax.request()向我的支持bean发送一个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元素的id,需要在AJAX调用返回后更新。 “selectedRowId”和“selectedColumnId”是.xhtml页面上的'h:inputText'元素,我需要在服务器端处理这些元素,以便计算要在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>

我做错了什么?

0 个答案:

没有答案