1

モデルにいくつかの値を設定し、ページを別のページにナビゲートする必要がありますが、ボタンをクリックしても何も起こりません(ページがナビゲートされたり、メソッドがトリガーされたりしません)...私のコードはカルーセルの外では完璧に機能しますが、カルーセル内では機能しません(いいえページ ナビゲーション)

<p:carousel value="#{catalog.getServices()}" var="s" rows="1">
    <h:outputLabel for="id" value="Service ID " />
    <h:outputText id="id" value="#{s.id}" />
    <br></br>
    <h:outputLabel for="name" value="Service Name" />
    <h:outputText id="name" value="#{s.name}" />
    <br />
    <h:commandLink action="detail">
    <f:setPropertyActionListener value="#{s}" target="#{sh.currentService}" />
    <h:commandButton value="getService" style="float:right;" />
    </h:commandLink>
</p:carousel>

私のナビゲーションは、このカルーセルの外でも完璧に機能します

<h:commandLink action="detail">
    <f:setPropertyActionListener value="#{s}" target="#{sh.currentService}" />
    <h:commandButton value="getService" style="float:right;" />
</h:commandLink>

上記のコードでページをナビゲートでき、トリガーしたいメソッドも正常に動作しています

4

2 に答える 2

1

h:commandButton内にネストすることは避けてくださいh:commandLink

単純に次のように使用 h:commandButtonします。

<h:commandButton value="getService" action="#{yourBean.yourActionMethod}">
  <f:setPropertyActionListener .../>
</h:commandButton>

そして、バッキング Bean で、アクション メソッドの結果としてナビゲーション ターゲットを返します。

public String yourActionMethod() {
  // do your stuff here
  return "detail";
}
于 2012-08-14T12:41:06.210 に答える
0

commandButtonをp:column内に配置してみてください。私はこの問題を抱えていました、そしてここでhttp://forum.primefaces.org/viewtopic.php?f=3&t=16120は私を助けました。

于 2012-12-29T19:51:42.800 に答える