ОБНОВЛЕНИЕ: Я обновил здесь для ясности, вместо того, чтобы писать в комментариях или делать ответное сообщение.
Это пример того, как код, с которым будут работать эти кнопки:
Я сделал такие кнопки:
<h:commandButton value="Delete" onclick="return addBackspace();">
<f:ajax execute="@form" render="formula"/>
</h:commandButton> //the backspace button
Текст области:
<h:inputTextarea id="formula" value="#{output.formula}" />
Я сделал несколько простых кнопок, которые бы записывали их значение в textArea, чтобы пользователь видел формулу при ее создании:
<h:commandButton value="+ " onclick="return checkButtons(this.value);">
<f:ajax execute="@form" render="formula"/>
</h:commandButton>
Я не совсем уверен насчет части ajax, которую я там вставил, использовал ее, чтобы остановить обновление страницы при каждом клике.
И я использую selectBox, которые сейчас имеют некоторые жестко закодированные значения, но в конечном итоге будут заполнены данными, взятыми из WS.
Property:
<h:selectOneMenu value ="#{output.propertyReferenceValue}" id="selectTwo" onchange="return checkItem(this.value);">
<f:selectItems value="#{property.propertyReference.keySet()}"/>
</h:selectOneMenu>
Теперь, если я сделаю textArea отключенным или readOnly, я по-прежнему смогу записать в него содержимое selctBoxes (что хорошо), но если я попробую простые кнопки, такие как «+», их значение просто появится быстро и затем исчезают так же быстро. Если я попытаюсь вернуться назад, он удалит все содержимое textArea, то же самое, если я поместу часть содержимого полей выбора в textArea, а затем, если я нажму кнопку «+» (например), все содержимое область будет удалена. Я все еще копаюсь в коде, чтобы понять, что же заставляет его так себя вести:)
КОНЕЦ ОБНОВЛЕНИЯ
Можно ли создать несколько командных кнопок в JSF, которые будут работать с inputTextArea, подобно клавишам "Enter" и "Backspace"? Например:
«Кнопка ввода» при нажатии перемещает курсор на новую строку текстовой области.
«Кнопка возврата» удалит следующую букву или пробел, находящийся за курсором.
Я долго искал, но мне кажется, что я нашел только подробности о том, как заставить весь текст исчезнуть.
Спасибо,
Daniel