Я использую Icefaces 1.8.2 и ice:inputTextarea
элемент управления, и я не могу понять, почему значение не устанавливается здесь:
.jsp
<ice:inputTextarea binding="#{easp$RecordSearch.repairRemark}" id="repairRemark"
partialSubmit="true" style="height:40px; width:100%;" />
.java
//bean
private HtmlInputTextarea repairRemark = new HtmlInputTextarea();
public HtmlInputTextarea getRepairRemark() {
return repairRemark;
}
public void setRepairRemark(HtmlInputTextarea hit) {
this.repairRemark = hit;
}
....
public String button3_action() {
...
//code that sets value
String myVal = "new value";
this.repairRemark.setValue(myVal);
...
return null;
}
Код, который устанавливает значение, является частью события нажатия кнопки, которое, как я знаю, запускается, потому что я устанавливаю несколько других элементов управления Icefaces, и все остальные сеттеры работают, кроме этого. Я только что заметил, что на самом деле текст выглядит очень коротко, но мгновенно исчезает. Я проверил весь код на этой странице, и я почти уверен, что нет другого установщика, перезаписывающего его. Кто-нибудь знает, что здесь происходит?
Обновление:
Похоже, это не проблема, связанная с «фазой», так как это событие обрабатывается на этапе INVOKE_APPLICATION
. Также обратите внимание, что у меня такая же проблема с jsf h:inputTextarea