Domanda

E 'possibile avere più actionListeners su pulsante di comando?

Se non v'è alcun modo per aggirare questo?

Grazie per il vostro aiuto!

È stato utile?

Soluzione

No, si può solo aggiungere due metodi di callback lato server:

  • actionListener e
  • action.

<ice:commandButton action="#{bean.navigateTo}" actionListener="#{bean.doSomething}"/>

actionListener deve puntare a un metodo pubblico che restituisce void e prende un ActionEvent come argomento. E 'generalmente utilizzato per qualsiasi attività che non sono legati a qualsiasi logica di navigazione e ha il vantaggio, di fornire con il valore vecchio e nuovo (= modificato) del controllo. Questo rende senso particolare nei controlli di input come caselle.

action deve puntare a un metodo pubblico che restituisce un String senza prendere alcun argomento. Il metodo farà tutto ciò che è necessario per la navigazione - per esempio un'ulteriore convalida (se non è stata gestita da alcuni validatore base JSF). Il risultato deve corrispondere le regole di navigazione da faces-config.xml.

Questo dovrebbe dare sufficienti possibilità di gestire più attività (che presumo sia il motivo per avere ActionListener multipla) entro la logica del server.

Inoltre, se avete bisogno di fare solo alcuni compiti sul lato client, è possibile usufruire di diversi sulle proprietà JavaScript *.

Riferimento: ICEfaces personalizzato Componenti Taglib

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top