jsf-2 - 焦点丢失时调用 bean 方法

标签 jsf-2

如何在焦点丢失时调用 bean 方法?

我试过这个,

<h:inputText id="receipeCode" value="#{receipeBean.receipeCode}" 
    onfocuslost="#{receipeBean.view}" />

但是,当光标移动到下一个输入字段时,不会调用该方法。

最佳答案

“焦点丢失”事件称为“模糊”事件。所以,您基本上需要 onblur :

<h:inputText ... onblur="#{receipeBean.view}">

但是,这不会调用模糊时指定的方法。这仅打印 view属性(property)作为String表示生成 HTML 输出期间的一些 JavaScript 代码。它需要一个像这样的 getter 方法:

public String getView() {
    return "alert('peek-a-boo')";
}

如果您实际上有 view()方法,您将面临 PropertyNotFoundException关于这一点。另外,这并不完全是“在模糊时调用 bean 方法”。这更像是“生成应该在模糊状态下运行的 JavaScript 代码”。

为了在模糊时实际调用 JSF 支持 bean 方法,您需要 <f:ajax> .

<h:inputText ...>
    <f:ajax event="blur" listener="#{receipeBean.view}" />
</h:inputText>

关于jsf-2 - 焦点丢失时调用 bean 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19969828/

相关文章:

jsf-2 - 如果用户单击浏览器后退按钮,如何在 session 过期时将用户移至超时页面

jquery - 如何根据分页查找id

jsf - 使用 JSF 2 迭代 List<String>

mysql - 在 PrimeFaces 数据表中显示 Blob 值?

jsf - Mojarra 2.1.29 与 JDK 1.6 不兼容

jsf - 通过 JSF 将 PDF 发送到浏览器

java - 如何使用jsf 2.0显示带有空白行的数据表

jsf-2 - 如何从支持 bean 显示确认对话框(Primefaces)

jsp - 如何使用 Facelets 的 ui :repeat tag in JSP?

html - 如何将 HTML 代码导入 JSF 页面?