我正在处理一个 JSF 文件,其中我有一个 javascript 函数,并且涉及到一些 jquery。我设计了一个带有两个按钮的对话框:1)确定和 2)取消。我设计它的方式是取消按钮将中止该过程,这没有问题。
但是,我想要完成的是,当用户按下确定时,程序应该调用一个支持 bean(java bean)方法,你们中的任何人都能够管理这个吗?
感谢您的所有帮助和提示
我正在处理一个 JSF 文件,其中我有一个 javascript 函数,并且涉及到一些 jquery。我设计了一个带有两个按钮的对话框:1)确定和 2)取消。我设计它的方式是取消按钮将中止该过程,这没有问题。
但是,我想要完成的是,当用户按下确定时,程序应该调用一个支持 bean(java bean)方法,你们中的任何人都能够管理这个吗?
感谢您的所有帮助和提示
至此,您需要让 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>
展示。
I think you just need this :
<h:form>
<h:commandButton value="OK" action="#{bean.submit}" />
</h:form>
如果你包含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()