是否可以将一个值绑定到多个字段?
Is it possible to bind a value to more than one field?
我有以下标记:
<h:selectOneMenu value="#{myBean.upperBound}">
<f:selectItems value="#{myBean.getValues(filterItem)}" />
</h:selectOneMenu>
以及以下托管 Bean:
public class MyBean{
private FilterItem lowebBound;
private FilterItem upperBound;
public List<SelectItem> getValues(FilterItem filterItem){
//Some stuff
}
//GET, SET
}
现在如何使用在 selectOneMenu
中选择的值初始化 属性 lowerBound
。每次更改时我都需要重新初始化该值。
您需要保持 selectOneMenu
和 属性 与 AJAX 调用同步。
One basic tutorial in the Oracle KB(2015-04-13 访问):
The f:ajax tag is a JavaServer Faces core tag that provides Ajax functionality to any regular UI component when used in conjunction with that component. In the following example, Ajax behavior is added to an input component by including the f:ajax core tag:
<h:inputText value="#{bean.message}">
<f:ajax />
</h:inputText>
相关阅读:
The f:ajax listener method in h:selectOneMenu is not executed
Updating text component via selectOneMenu from inside a JSF2/Facelets subview
在您的情况下,您的组件将如下所示:
<h:selectOneMenu value="#{myBean.upperBound}">
<f:selectItems value="#{myBean.getValues(filterItem)}" />
<f:ajax listener="#{bean.listener}" />
</h:selectOneMenu>
执行动作时会调用监听器方法;你可以更新其中的lowerBound
。
The name of the listener method that is called when a javax.faces.event.AjaxBehaviorEvent has been broadcast for the listener.
我有以下标记:
<h:selectOneMenu value="#{myBean.upperBound}">
<f:selectItems value="#{myBean.getValues(filterItem)}" />
</h:selectOneMenu>
以及以下托管 Bean:
public class MyBean{
private FilterItem lowebBound;
private FilterItem upperBound;
public List<SelectItem> getValues(FilterItem filterItem){
//Some stuff
}
//GET, SET
}
现在如何使用在 selectOneMenu
中选择的值初始化 属性 lowerBound
。每次更改时我都需要重新初始化该值。
您需要保持 selectOneMenu
和 属性 与 AJAX 调用同步。
One basic tutorial in the Oracle KB(2015-04-13 访问):
The f:ajax tag is a JavaServer Faces core tag that provides Ajax functionality to any regular UI component when used in conjunction with that component. In the following example, Ajax behavior is added to an input component by including the f:ajax core tag:
<h:inputText value="#{bean.message}">
<f:ajax />
</h:inputText>
相关阅读:
The f:ajax listener method in h:selectOneMenu is not executed
Updating text component via selectOneMenu from inside a JSF2/Facelets subview
在您的情况下,您的组件将如下所示:
<h:selectOneMenu value="#{myBean.upperBound}">
<f:selectItems value="#{myBean.getValues(filterItem)}" />
<f:ajax listener="#{bean.listener}" />
</h:selectOneMenu>
执行动作时会调用监听器方法;你可以更新其中的lowerBound
。
The name of the listener method that is called when a javax.faces.event.AjaxBehaviorEvent has been broadcast for the listener.