从jquery中调用支持bean方法

时间:2012-12-10 11:29:23

标签: jquery jsf dialog backing-beans

我在JSF文件上工作,我有一个javascript函数,并涉及一些jquery 在这。 我设计了一个带有两个按钮的对话框:1)确定和2)取消。 我设计它的方式是取消按钮将中止该过程, 并且没有问题。
但是,我想要完成的是当用户按下Ok然后程序 应该调用一个支持bean(java bean)方法, 有没有人能够管理这个?

感谢您的所有帮助&尖

3 个答案:

答案 0 :(得分:2)

到目前为止,您需要让jQuery触发JSF <h:commandButton>的HTML表示上的click事件。如有必要,您可以使用CSS display:none隐藏表单/按钮。

E.g。

<h:form id="formId" style="display:none">
    ...
    <h:commandButton id="buttonId" ... />
</h:form>

$("[id='formId:buttonId']").click();
然而,这有些笨拙。为什么不直接使用<h:commandButton>作为“确定”按钮?此外,为JSF重新构建基于jQuery的组件可能在长期内是一种痛苦。你有没有看过例如PrimeFaces以节省头痛和样板代码?它已经在封面下使用jQuery和jQuery UI。另见例如<p:confirmDialog> showcase

另见:

答案 1 :(得分:1)

我想你只需要这个:

<h:form>
   <h:commandButton value="OK" action="#{bean.submit}" />
</h:form>

答案 2 :(得分:0)

如果包含richfaces,则可以使用rich jsFunction组件来调用备用bean的action方法 你可以看到http://livedemo.exadel.com/richfaces-demo/richfaces/jsFunction.jsf;jsessionid=168EE2D49DC8BB1BA781B1C880B4B511?c=jsFunction&tab=usage

<a4j:jsFunction name="pressOK" reRender="showname" action="#{bean.action}" oncomplete="callback()">

    </a4j:jsFunction>

有了这个,你可以调用javascript函数pressOK()