Получить код ключа при прослушивании изменения значения JSF iceface - PullRequest
0 голосов
/ 12 ноября 2010

У меня есть один автозаполнение входного текста, в котором я хочу код ключа для valueChangeListener, поскольку мы можем получить его в javascript, используя event.getKeyCode, как это .. Я использую jsf 1.2 и icefaces 1.7.2.

Я хочу ввести код ключа на valuechangelistener.

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

здесь слушатель следующим образом.

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

Ответы [ 2 ]

0 голосов
/ 15 ноября 2010

Здесь ниже приведен пример кода для определения клавиши ввода.

При необходимости вы можете сделать это для других событий нажатия клавиши.

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();
                        }
}
0 голосов
/ 12 ноября 2010

Зачем вам это нужно? У вас уже есть searchWord. Если все, что вам нужно, это получить последний символ по какой-то причине, тогда просто используйте String#charAt().

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