我正在寻找一种简单的方法来调用bean的方法,它将在JSF中不接受参数并返回一个字符串。我真正不需要的是,该方法返回一个操作结果,然后使用整个JSF生命周期将我带到另一个视图。我需要从JavaScript中实现这一点,这样我就可以将应用程序的一些客户端部分放在一起,而浏览RichFaces的A4J部分到目前为止还没有给我带来任何好处。
因此,这里再次以一步一步的形式给出了场景:
来自JS的
进一步处理它。
谢谢!
发布于 2009-05-12 09:49:43
使用a4j:jsFunction和数据属性。
所以粗略地说你想要这样的东西:
<button onclick="callBackend();">Go</button>
<a4j:jsFunction name="callBackend" action="#{myBean.someMethod}" data="#{myBean.someString}" oncomplete="handleResponse(data);"/>
<script>
function handleResponse(response) {
alert(response);
}
</script>发布于 2009-05-12 21:46:31
达摩:你能解释一下为什么它可能只在第一次执行callBackend方法时才起作用吗?我正在经历一种奇怪的行为,第一次调用成功,下一次调用就被阻止了。我看到服务器端代码正在执行,但一些奇怪的结果被发送回浏览器(类似于_viewstate之类的东西)。
https://stackoverflow.com/questions/851795
复制相似问题