我正在使用JSF 2,我想发送h:inputText值的不同托管bean。
JSF代码:
<h:inputText value="#{outgoingMsgsAction.msisdn .... }"
required="true"
requiredMessage="Please enter mobile number"
placeholder="International format"/>
您只能将输入值绑定到一个对象(在一个bean中)。如果要在多个bean中复制您的值,则需要一个值更改侦听器,并将值设置为多个bean。
要访问不同的豆子,例如@Inject
,如果您使用CDI,则可以使用Ommnifaces bean。
例如:
public void valueChangeListener(ValueChangeEvent event) {
beanB.setValueX(event.getNewValue());
beanC.setValueX(event.getNewValue());
}
xhtml:
<h:inputText value="#{beanA.valueX}"
valueChangeListener="#{beanA.valueChangeListener}"
.../>
知道您能够访问其他豆子,最好简单地将您的价值存储在一个bean中,然后在需要的地方访问该值。复制该值对我来说似乎是一个黑客,当仅在一个豆子中更改一个值时,可能会使您陷入困境。
另请参见:
- 如何使用值更改侦听器