commandLink actionListener methods on bean a trecut prin ui: param

Folosesc JSF 2 cu PrimeFaces și faul meu are commandLinks (sau commandButtons) care apelează metode pe un fasole trecut prin ui: param.

My facelet xhtml expects dialogBean to be passed as a ui:param

   

       

        

   

Fațetul este inclus astfel:


    
    
    

Eșuează cu această eroare:

javax.el.PropertyNotFoundException: Target Unreachable, 
   identifier 'dialogBean' resolved to null

Am încercat să înlocuiesc # {dialogBean.close} cu # {dialogBean ['close] cu action definit ca param, nimic nu a ajutat.

dialogBean does get resolved when used with h:outputText and similar outputs. Also, this example works when I replace actionListener with action.

Orice idee cineva?

1
Am exact aceeași problemă. Ați găsit vreodată un răspuns?
adăugat autor wrschneider, sursa

1 răspunsuri

Cred că am găsit răspunsul.

Verificați-vă că metodele de acțiune ale acțiunii Listener ( okClicked etc.) ale obiectului dialogBean al obiectului iau un parametru ActionEvent .

Se pare că acest parametru este necesar pentru fasolea trecută de ui: param , dar nu și cu altele.

Bănuiesc că ce se întâmplă este așa:

  1. verificați parametrul dialogBean pentru metoda okClicked (ActionEvent)
  2. dacă nu este găsit, căutați numele de cod dialogBean cu metoda okClicked (ActionEvent)
  3. dacă nu este găsit, căutați un nume dialogBean cu metoda okClicked()

unde metoda non-argument este utilizată numai atunci când numele fasolei se potrivește direct, nu se potrivește indirect prin intermediul ui: param reference.

0
adăugat