如何在焦点丢失时调用 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/