- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试执行 JSF2 bean 方法,并在单击 PrimeFaces <p:commandButton>
完成该方法后显示一个对话框.
<p:commandButton id="viewButton" value="View"
actionlistener="#{userBean.setResultsForSelectedRow}" ajax="false"
update=":selectedRowValues"
oncomplete="PF('selectedRowValuesDlg').show()">
</p:commandButton>
<p:dialog id="selectedRowValues" widgetVar="selectedRowValuesDlg" dynamic="true">
<h:outputText value="#{userBean.selectedGroupName}" />
</p:dialog>
当我单击命令按钮时,bean 操作监听器方法 setResultsForSelectedRow
正确执行,但该方法完成时不显示对话框。如果我删除 actionlistener
,它显示对话框。我不知道出了什么问题。
事件的执行顺序是什么?是否可以执行actionlistener
和oncomplete
同时?
最佳答案
它失败了,因为您使用了ajax="false"
。这会触发一个完整的同步请求,进而导致整个页面重新加载,从而导致 oncomplete
永远不会触发(请注意,所有其他与 ajax 相关的属性,如 process
、 >onstart
、onsuccess
、onerror
和 update
也永远不会被触发)。
当您删除 actionListener
时它会起作用也是不可能的。它应该以同样的方式失败。也许您还删除了 ajax="false"
,但没有真正理解您在做什么。删除 ajax="false"
确实应该达到所需的要求。
Also is it possible to execute actionlistener and oncomplete simultaneously?
没有。该脚本只能在 Action 监听器之前或之后触发。您可以使用 onclick
在单击时触发脚本。您可以使用 onstart
在即将发送 ajax 请求时触发脚本。但他们永远不会完全同时被解雇。顺序如下:
onclick
JavaScript 代码被执行process
和当前 HTML DOM 树准备 ajax 请求onstart
执行 JavaScript 代码process
处理 JSF 组件树上的请求生命周期actionListener
执行 JSF 支持 bean 方法action
执行 JSF 支持 bean 方法update
和当前 JSF 组件树准备 ajax 响应onsuccess
执行 JavaScript 代码onerror
JavaScript 代码更新
oncomplete
JavaScript 代码被执行请注意,更新
是在actionListener
之后执行的,因此,如果您使用的是onclick
或 onstart
显示对话框,那么它可能仍然显示旧内容而不是更新的内容,这对用户体验很差。然后,您最好使用 oncomplete
来显示对话框。另请注意,当您打算执行业务操作时,最好使用 action
而不是 actionListener
。
关于jsf - 按下 PrimeFaces p :commandButton 时事件的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20146630/
当我使用 PrimeFaces 时 p:commandButton 我没有看到输入的验证消息(默认的 h: 或 PrimeFaces p: 的。)例如 当我使用默认命令按钮时 我确实看到了验证。
当鼠标指针悬停在另一个命令按钮上时,我需要显示一个 primefaces 命令按钮,但只有在非常必要时我才能使用 div。如果可能的话,使用 onmuseover 事件会更好,例如: 最佳答案 如
要求是在单击按钮时打开一个新窗口/选项卡。新窗口应重定向到新 URL 或新页面。我尝试过以下代码: 但这会再次打开当前页面。如何设置在新窗口/选项卡中打开新页面或网址? 最佳答案 试试这个: XHT
出于与此问题无关的原因,我已在我的应用程序中将 h:commandButton 完全替换为 a4j:commandLink。从那时起,我在 IE8 中看到了一些奇怪的副作用,例如失去焦点的选择菜单和无
style to
有谁知道如何将相同的样式从命令按钮放到所有命令链接? 我希望所有链接都这样显示(覆盖链接样式并使用按钮样式): 普通按钮: 悬停按钮: 按下的按钮: 我目前的 primefaces 主题是 开始 最佳
我想在 backingbean 中执行一个函数,在存在验证错误的表单中使用命令按钮。 使用代码示例,我想调用函数“resiCon.cancel()”,而不管表单上是否存在验证错误。 你能帮帮我吗?
我的问题是。我有一个primefaces 对话框(模态窗口)。它里面有一个命令按钮。当我打开对话框并单击命令按钮时,对话框外部和后面的输入也会被验证。我只想处理对话框内的输入。 重要的是,我将对话框添
我使用 Primefaces 轮播组件来显示项目列表。我想做的是在每个轮播项目上显示一个命令按钮,它会触发 bean 上的方法来确认或拒绝条目。 现在它只适用于轮播的第一个条目。单击另一个条目不会调用
我正在使用来自JSF的命令按钮。我不知道为什么我不能调用我的javascript函数。当我单击按钮时,不会显示任何警报。 我的Javascript函数: function checkPassword
我想制作一个导航到不同 URL 的按钮,并在 URL 中传递一些请求参数。 outputLink 有效,但我想要一个按钮,commandButton 看起来不错但我可以传递参数。 有解决办法吗? 最佳
我遇到了 commandButton 的问题,它仅在提交类型时才起作用。有人可以看看并告诉我是否有解决方案吗?下面的代码非常简单,并且确实有说明我需要的建议。不执行方法 test()。方法 runSu
在我的 xhtml 中,在 内标签我有多个面板,a4j:jsFunction 和 rich:popupPanel 以及 rich:panel。在我的 rich:panel 中,我有一些文本区域。然后
我想要一个代码来取消选中工作簿中所有工作表的所有名为“CheckBox1”的复选框。不幸的是,我当前的代码不起作用,我不确定为什么 - 它只适用于事件工作表。 Private Sub CommandB
我正在使用 Primefaces 使我的应用程序更加美观。我注意到 p:commandButton 和 h:commandButton 的工作方式不同。 p:commandButton 调用该方法并且
对于以下代码,我收到此错误 Method or Data Member not found. Private Sub Workbook_Open() Dim ws1 As Worksheet:
我是 JSF 和 RichFaces 的新手。我有一个应该调用 bean 方法的按钮。当我使用 它工作正常,但是当我点击 没有任何反应。 我的bean代码: public class LoginB
我正在使用 JSF,我想像 h:outputFormat 一样参数化命令按钮的文本。 有点像 此刻的我 但这让我在每次有参数时将所有存储为属性的文本一分为二 有什么提示吗? 最佳答案 我们使用
嗨,我有一个问题一直想问。我说的是不同类型的 type 标签。我读了一点,但大多数页面只有不同标签的名称,仅此而已。这样的 CommandButton、forms 或 tags 的范围是什么?使用标记
我有一个 Primefaces 命令按钮 自定义CSS类 .mybutton{ margin-left: 10px; margin-bottom: 10px; widt
我有两个命令按钮,当我点击输入时,第一个提交。如果用户点击回车,我真的只想提交第二个按钮。有任何想法吗? 最佳答案 我意识到这个问题很老,但也许有人看到不同的解决方案仍然很有趣。 您可以使用 Prim
我是一名优秀的程序员,十分优秀!