如何将inputtext值发送到jsf中的许多支持bean

时间:2017-03-13 10:49:00

标签: jsf

我使用jsf 2,我想为不同的托管bean发送h:inputText值。

JSF代码:

<h:inputText value="#{outgoingMsgsAction.msisdn .... }" 
             required="true"
             requiredMessage="Please enter mobile number" 
             placeholder="International format"/>

1 个答案:

答案 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中更改了值时,才会让您遇到麻烦。

另见: