Primefaces 2.2.1P:commandButtonのAJAX Pの内側に呼び出されていない:DataListコントロール
クロサギ科2.1.2
私はJSF Bean内の洗練された方法があります。
public void saySomething() {
log.debug("SAY SOMETHING !");
}
とシンプルなボタンを
ボタンをクリック<p:commandButton
value="say something"
process="@this" update="@none" action="#{timetableBean.saySomething}" />
、私の簡単なログでの結果:JSFで
DEBUG PhaseTracker - BEFORE PHASE INVOKE_APPLICATION 5
DEBUG TimetableBean - SAY SOMETHING !
DEBUG PhaseTracker - AFTER PHASE INVOKE_APPLICATION 5
次の簡単な場合に進みましょう。 Pの内側にその同じボタンを配置する場合:DataListコントロールを次のように:
<p:dataList id="groupUsers2" value="#{timetableBean.group.users}" var="user" itemType="circle" style="padding:0; margin: 0;">
<p:commandButton
value="#{user.data['selected'] ? 'V' : 'X'}"
process="@this" update="@none" action="#{timetableBean.saySomething}" />
<p:commandLink value="#{user.userId} - #{user.name}" process="@this" />
</p:dataList>
クリックボタンの上に、私の簡単なログでの結果:
DEBUG PhaseTracker - BEFORE PHASE INVOKE_APPLICATION 5
DEBUG PhaseTracker - AFTER PHASE INVOKE_APPLICATION 5
saySomething(方法)が呼び出されていませんでした!
どうしたのですか?
問題は 'process'属性かもしれません。 commandButtonコンポーネントが '#{timetableBean.group.users} 'の各要素のために作成されるため、これは本当に言います。 '@ this'は実際に何を処理するのですか? –
@maple_shaft:これをprocess = "@ form"に変更しましたが、まだ動作していません。リスナメソッドは呼び出されません。 – bertie