【问题标题】:Cannot pass parameter with h:commandLink inside p:dialog and p:panel无法在 p:dialog 和 p:panel 中使用 h:commandLink 传递参数
【发布时间】:2015-03-23 00:52:40
【问题描述】:

我的配置:JSF 2.2 - mojara 版本 2.2.8 Glassfish 服务器 4.0 Primefaces 5.1.7

当我尝试在 p:panel 中的 p:dialog 中使用 h:commandLink 传递 f:param 时遇到问题。这是 h:commandLink 的代码

<h:commandLink action="#{creditApplicationAttachmentBean.uploadFile()}" styleClass="mystyle-btn" id="uploadFileButton"><i/> #{msg['mymessage.upload.button']} 
            <f:ajax execute="ids of elemets to execute" render="ids of elements to update"/>
            <f:param name="showMessageInGlobal" value="false"/>
        </h:commandLink>

因此,当触发操作时,永远不会设置参数(它为空)。我已经检查了嵌套表单并且没有它们。没有验证错误。所以似乎一切都很好,参数的一部分没有设置。

任何帮助将不胜感激。

【问题讨论】:

    标签: jsf-2 primefaces parameter-passing


    【解决方案1】:

    f:param 必须与命令链接一起使用,但也尝试使用和测试删除 ajax,并首先尝试传递参数。还要检查来自 JSF bean 的参数句柄代码,如果你使用 f:param,你应该从参数映射中获取它, 这是一个帮助链接 PropertyActionListener

    【讨论】:

      【解决方案2】:

      经过一些搜索和询问人们的答案很简单,majara 实现的 jsf 2.2 中有一个功能 f:param 不适用于 f:ajax。它还允许定义特殊参数,但仅此而已。已请求将其包含在 jsf 2.3 版本中。所以我们拭目以待。

      【讨论】:

      • 嗯?这应该只是工作。您只使用了execute="ids of elemets to execute",这显然是完全错误的。
      • @BalusC 我只是解释了我在这个属性中的内容以及我也在使用它们。这不是我元素的实际 ID :)
      猜你喜欢
      • 1970-01-01
      • 2014-11-07
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 2019-01-05
      相关资源
      最近更新 更多