2

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

感谢您的所有帮助和提示

4

3 回答 3

2

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

例如

<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>展示

也可以看看:

于 2012-12-10T11:43:43.307 回答
1

I think you just need this :

<h:form>
   <h:commandButton value="OK" action="#{bean.submit}" />
</h:form>
于 2012-12-10T16:40:25.990 回答
0

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

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

    </a4j:jsFunction>

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

于 2012-12-11T17:12:43.063 回答