JSF: selectOneMenu: bei onchange actionListener auslösen

Status
Nicht offen für weitere Antworten.

Steve™

Mitglied
Ich möchte bei einem onchange Event einen actionListener der BackinbBean auslösen. Ist es möglich, bei einem onchange Event eine Action in der Form #{BackingBean.doSomething"} auszulösen ?


Code:
 <t:selectOneMenu onchange="??">
         <f:selectItems value="#{BackingBean.availableValues}"/>
 </t:selectOneMenu>
 
M

maki

Gast
onchange sollte einen submit() auslösen, dann wird der actionlistener aufgerufen.
 

Steve™

Mitglied
hm das klappt aber nicht :

Code:
           <form>
            <t:selectOneMenu onchange="this.form.submit()" >
                <f:selectItems value="#{BackingBean.values}"/>                                   
            </t:selectOneMenu>
           </form>

Code:
public class BackingBean implements javax.faces.event.ActionListener  {

  public void processAction(ActionEvent arg0) throws AbortProcessingException {
   System.out.println("huhu");
    
  }
}

Es wird nichts ausgegeben bei einem onchange, aber die daten scheinen zumindest gepostet zu werden
 
M

maki

Gast
Tja, du brauchst schon einen actionListener ;)

Übrigens, ein gutes Buch zu JSF ist unerlässlich, ich steh auf Core JavaServer Faces 2nd Edition, da wird dieses und dein letztes Thema (und vieles anderes mehr) behandelt ;)

Einfach mal so JSF per "learning by doing" zu erlernen ist nicht möglich.
 

Steve™

Mitglied
ach ich trottel. einen valuechangelistener brauch ich nat.

so klappts. danke aber ich kann mir nicht gleich ein buch kaufen, wenn ich mal eine schnelle lösung such ;)

Code:
 <form>
            <t:selectOneMenu valueChangeListener="#{BackingBean.processValueChange}" onchange="this.form.submit()"   
             >
              <f:selectItems value="#{BackingBean.values}"/>
                                                 
            </t:selectOneMenu>
           </form>
 
M

maki

Gast
Hast recht, hab auch den ActionListener mit dem ValueChangeListener verwendet.

so klappts. danke aber ich kann mir nicht gleich ein buch kaufen, wenn ich mal eine schnelle lösung such icon_wink.gif
Du kennst ja die Definition von Abkürzung: Der längere Weg.

Aber wenn's reicht, dann reicht's eben.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben