Есть ли способ использовать EL, чтобы получить текущее значение поля h: inputText? - PullRequest
0 голосов
/ 01 сентября 2009

Я новичок в JSF и EL, и мне было интересно, есть ли способ использовать EL для получения текущего значения поля h: inputText. Я делаю это неправильно или это вообще возможно?

Спасибо, -Бен

Ответы [ 2 ]

1 голос
/ 01 сентября 2009

(на основе вашего комментария) Если вы хотите проверить его на стороне сервера, вы должны посмотреть на библиотеку Ajax, как Richfaces .

Затем вы можете легко добавить вызов ajax в поле ввода

<h:inputText id="myInput" value="#{myBean.myValue}">
   <a4j:support event="onchange" ajaxSingle="true"/>
</h:inputText>

Когда вы изменяете текст, вызов Ajax обновит вашу модель на стороне сервера. Если у вас есть валидатор, вы можете добавить его в тег inputText или использовать атрибут action в теге support для вызова другого метода.

1 голос
/ 01 сентября 2009

Я не очень понимаю, что вы ищете ...

С этим кодом:

<h:form id="myForm">
    <h:inputText id="myInput" value="#{myBean.myValue}"/>

Значение поля ввода при создании HTML-страницы будет равно значению свойства myValue компонента myBean .

Если значение изменено пользователем, JSF автоматически обновит значение myBean.myValue , когда форма будет отправлена.

Если вам нужно получить значение ввода на стороне клиента, то есть с помощью Javascript, вам нужно сделать следующий код:

<script type="text/javascript">
    function getInputTextValue() {
        var valueOfInput = document.getElementById("myForm:myInput").value;
    }
</script>

Обратите внимание, что перед идентификатором необходимо указать идентификатор формы, содержащей входные данные ("** myForm: ** myInput").

...