【问题标题】:How to pass <h:inputText> value to managed bean with <f:ajax>如何使用 <f:ajax> 将 <h:inputText> 值传递给托管 bean
【发布时间】:2015-02-05 03:28:43
【问题描述】:

我有搜索功能。当用户向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

我怎样才能将值返回到 bean ?

【问题讨论】:

    标签: jsf-2


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的更新。我试过这是有效的。但是你能告诉我这里有'@this'属性的目的是什么吗?当我删除它时,它仍然可以工作。
    • 这是多余的。你不需要它。我会继续删除它。如果这回答了您的问题,请接受答案。
    猜你喜欢
    • 2014-07-22
    • 2015-12-02
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    相关资源
    最近更新 更多