2010-11-12 15 views
0

J'ai un texte de saisie semi-automatique en ce que je veux le code clé sur valueChangeListener comme nous pouvons l'obtenir en javascript en utilisant event.getKeyCode comme ça..J'utilise jsf 1.2 et les icefaces 1.7.2.Get code clé à l'écouteur de changement de valeur de JSF iceface

Je veux entrer le code clé sur valuechangelistener.

<ice:selectInputText id="AutoCmpTxt11" rows="10" width="300" 
valueChangeListener="#createJournalVoucherBean.changeDebitAccNameValueChangedListener}" 
value="#{createJournalVoucherBean.debitAccount.name}" partialSubmit="true" 
autocomplete="true"> 

ici listener comme suit.

public void changeDebitAccNameValueChangedListener (ValueChangeEvent event) throws InterruptedException { 
    String searchWord = ((String) event.getNewValue()).trim().toUpperCase(); 
    //Here I want event.getkeycode like that. 
} 

Répondre

0

Qu'est-ce que vous en avez besoin? Vous avez déjà le searchWord. Si tout ce que vous voulez est d'obtenir le dernier caractère pour une raison quelconque, alors utilisez simplement String#charAt().

char lastChar = searchWord.charAt(searchWord.length() - 1); 
0

Ci-dessous est un exemple de code pour la détection d'entrée-clé.

Vous pouvez le faire pour d'autres événements de touche, selon vos besoins.

public void changeDebitAccNameValueChangedListener (ValueChangeEvent event) throws InterruptedException { 

String searchWord = ((String) event.getNewValue()).trim().toUpperCase(); 

     //-- Code for key detection 

     keyPressedEvent(FacesContext.getCurrentInstance()); 

     //-- 
} 


    private void keyPressedEvent(FacesContext facesContext) { 

         try { 
          Map requestParemeterMap = facesContext.getExternalContext() 
            .getRequestParameterMap(); 
          KeyEvent keyEvent = new KeyEvent(this , requestParemeterMap); 

          if (keyEvent.getKeyCode() == KeyEvent.CARRIAGE_RETURN) { 
           // do your custom processing 
          } 

         } catch (Exception e) { 
          e.printStackTrace(); 
         } 
}