簡體   English   中英

如何使用<f:ajax>當值為 時在托管 bean 中設置更新的值<h:inputText>改變了

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM