gpt4 book ai didi

JSF 组件绑定(bind) - 一些困惑

转载 作者:行者123 更新时间:2023-12-02 02:56:16 24 4
gpt4 key购买 nike

从像这样的网页,

http://www.jsftutorials.net/components/step5.html

据我了解,JSF 标记/ View 组件中的绑定(bind)属性是将 View 组件绑定(bind)到支持 bean 中 UI 组件的 Java 实例。

例如,这就是以下代码中所做的事情:

<h:inputText value="#{ myBean.someProperty}" binding="#{ myBean.somePropertyInputText}"/>

但有时我会看到code like this :

<h:commandButton id="t1" binding="#{foo}" value="Hello, World!" onclick="alert('I am #{id:cid(foo)}'); return false;" />

其中id:cid是一个taglib函数,定义如下:

public static String cid(UIComponent component) {
FacesContext context = FacesContext.getCurrentInstance();
return component.getClientId(context);
}

在上面的代码中,binding="#{foo}" 没有绑定(bind)到“支持 bean 中 UI 组件的 Java 实例”。

那么 binding="#{foo}" 等表达式的含义是什么?

最佳答案

它只是将组件绑定(bind)到当前 Facelet 范围。如果您在支持 bean 中根本不需要它,那么这尤其有用。这可以将您的支持 bean 代码从无用的属性中保存下来,这些属性根本没有在任何其他方法中使用。请注意,它在 JSF 1.2 中也以这种方式工作。不确定 JSF 1.0/1.1,因为它使用不同的 JSF 专有 EL API。

另请参阅:

关于JSF 组件绑定(bind) - 一些困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9929518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com