我使用jsf 2,我想为不同的托管bean发送h:inputText值。
JSF代码:
<h:inputText value="#{outgoingMsgsAction.msisdn .... }"
required="true"
requiredMessage="Please enter mobile number"
placeholder="International format"/>
答案 0 :(得分:0)
您只能将输入值绑定到一个对象(在一个bean中)。如果要在多个bean中复制值,则需要一个值更改侦听器,并将值设置为多个bean。
要访问不同的bean,例如@Inject
,或者如果您使用的是CDI,请使用OmniFaces Beans。
例如:
public void valueChangeListener(ValueChangeEvent event) {
beanB.setValueX(event.getNewValue());
beanC.setValueX(event.getNewValue());
}
XHTML:
<h:inputText value="#{beanA.valueX}"
valueChangeListener="#{beanA.valueChangeListener}"
.../>
知道您可以访问其他bean,最好只将值存储在一个bean中,并在需要的地方访问该值。复制该值对我来说似乎是一个黑客攻击,并且只有在其中一个bean中更改了值时,才会让您遇到麻烦。
另见: