将参数传递给a4j:函数
问题描述:
如何将参数传递给a4j:javascript中的jsFunction,我想调用 categoryChanged以及任何我放在那里的东西 - 即使显式的String,参数在bean侧也不可见。将参数传递给a4j:函数
这里是js代码:
$(function() {
$("#resizable").resizable();
$("#selectable").selectable({stop: function(event, ui) {
$(".ui-selected", this).each(function() {
var index = $("#selectable li").index(this);
categoryChanged("Test String");
categoryChanged(this);
categoryChanged(ui.id);
categoryChanged($("#selectable li").value(this));
});
// ajax call to render the content
}});
$("#menu").buttonset();
});
和A4J函数定义:
<a4j:jsFunction name="categoryChanged"
action="#{appexplorerbean.categoryChanged}" limitToList="true"
oncomplete="" reRender="appexplrtable">
<a4j:actionparam name="newCategory" />
</a4j:jsFunction>
答
您需要分配参数来设置。
<a4j:jsFunction name="categoryChanged"
action="#{appexplorerbean.categoryChanged(newCategory)}" limitToList="true"
oncomplete="" reRender="appexplrtable">
<a4j:actionparam name="newCategory" assignTo="#{newCategory} />
</a4j:jsFunction>
或直接设置该值。
<a4j:jsFunction name="categoryChanged"
action="#{appexplorerbean.categoryChanged}" limitToList="true"
oncomplete="" reRender="appexplrtable">
<a4j:actionparam name="newCategory" assignTo="#{appexplorerbean.newCategory} />
</a4j:jsFunction>
希望它仍然可以帮助
是否你的第二个解决方案要求'newCategory' getter和setter方法在bean? – prageeth 2012-10-29 13:56:14
是的,这些都是必需的。 – Ununoctium 2013-03-19 07:02:34