Получить код ключа при прослушивании изменения значения JSF iceface

У меня есть один входной текст автозаполнения, в котором я хочу код ключа на 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.
}

person Sweety    schedule 12.11.2010    source источник


Ответы (2)


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

char lastChar = searchWord.charAt(searchWord.length() - 1);
person BalusC    schedule 12.11.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();
                        }
}
person Nayan Wadekar    schedule 15.11.2010