如何使用 <f:ajax> 将 <h:inputText> 值传递给托管 bean

How to pass <h:inputText> value to managed bean with <f:ajax>

我有搜索功能。当用户向 inputText 输入一些文本时,它假设要搜索文本。这个函数我想用 ajax 函数来实现。我不提交所有表单值。

<td colspan="2" align="right">
    <h:inputText id="searchTxtBox" value="#{catelogue.searchTxt}">
    </h:inputText>
</td>
<td>
   <h:commandLink value="Search"><f:ajax event="click" listener="#{catelogue.findText}" render="@form"/></h:commandLink>
</td>

当点击Search按钮时,managed bean中的searchTxt变量为null

我怎样才能得到 back bean 的值?

1) 确保您的代码位于 h:form 标签内

2) 这应该是您的 f:ajax 代码:

<f:ajax execute="searchTxtBox" listener="#{catelogue.findText}" 
        render="<whatever you want to render"/>