[英]How to use <f:ajax> to set updated value in managed bean when value of <h:inputText> is changed
我有一個帶有<h:inputText>
的 JSF 頁面。 我想在更改值時設置綁定到<h:inputText>
的值。
豆:
@ManagedBean
@SessionScope
public class MyBean {
private String in;
//getter and setter
}
看法:
<h:inputText value="#{myBean.in}" />
我該如何使用<f:ajax>
?
只需將<f:ajax>
標記嵌套在<f:ajax>
<h:inputText>
標記中。
<h:inputText value="#{myBean.in}">
<f:ajax />
</h:inputText>
它會在 HTML DOM change
事件發生時提交值(即當字段被編輯然后模糊時)。
event
屬性已默認為valueChange
,因此將其省略。 它的execute
屬性已經默認為@this
,所以它被省略了。 如果您想在完成時更新其他組件,請設置render
屬性。 例如
<h:inputText value="#{myBean.in}">
<f:ajax render="msg" />
</h:inputText>
<h:message id="msg" />
如果要在成功設置后調用偵聽器,請設置listener
屬性:
<h:inputText value="#{myBean.in}">
<f:ajax listener="#{myBean.changeIn}" />
</h:inputText>
public void changeIn() {
System.out.println("in has been changed to " + in);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.