【问题标题】:many onClick are executed许多 onClick 被执行
【发布时间】:2014-06-30 00:03:02
【问题描述】:

我的代码如下:

<p:layoutUnit position="west"   resizable="false" collapsible="true"   style="color: #ccc;padding-left: 50px;border-right-color: yellowgreen;border-left: none;border-bottom: none;border-top-color: yellowgreen;"  >
   <h:link  value="Sport" styleClass="link" outcome="products" onclick="#{acount.rechercherLivreByTheme('Sport')}">
       <f:param name="nom" value="Art" />
   </h:link><br/>
   <h:link  value="Informatique" styleClass="link" outcome="products" onclick="#{acount.rechercherLivreByTheme('Informatique')}">
       <f:param name="nom" value="Informatique" />
   </h:link><br/>
</p:layoutUnit>

问题是,当我单击一个链接时,会执行 2 个方法,就像我单击了两个链接一样。

编辑

我在查看完整代码时发现,我的所有 onClick 都已执行,我在将表单标签放在合适的位置时遇到了问题

如果我们有很多按钮,有很多布局,我们如何使用表单标签?

【问题讨论】:

  • 方法表达式不应放在onclick中。请改用commandLink,并将方法表达式放在commandLink 的action 属性中
  • 非常感谢它现在可以使用

标签: html jsf primefaces


【解决方案1】:

onclick 用于将在单击时执行的 JavaScript 代码。因此,JSF 需要先渲染这个属性的内容,然后再发送给浏览器(所以所有的 EL 代码都在渲染时执行)。这不是将在服务器端生成的事件。

您可能正在寻找 actionactionListener 两者都可用于其他 JSF 组件,例如 h:commandLink

【讨论】:

    猜你喜欢
    • 2015-05-14
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2022-08-16
    • 1970-01-01
    相关资源
    最近更新 更多