我有h:inputText
valueChangeListener
,当用户键入一些代码时,另一个h:inputText
显示来自MySQL的有关该代码的数据,valueChangeListener
可以正常工作,但第二个{{ 1}}没有显示值,只在我设置readonly属性或将组件更改为h:inputText
时才会显示
我的facelets页面是:
h:outputText
facturaBean是:
<h:form id="idFacturacion">
<rich:panel>
<f:facet name="header">
<h:outputText value="FACTURACION AL CLIENTE" />
</f:facet>
<h:panelGrid columns="4">
<h:outputText value="Cedula: " />
<h:inputText value="#{facturaBean.encFactura.cedula}" onchange="submit();" valueChangeListener="#{facturaBean.processValueChange}" />
<h:outputText value="Nombre: " />
<h:inputText value="#{facturaBean.encFactura.nombre_cli}" />
</h:panelGrid>
</rich:panel>
</h:form>
答案 0 :(得分:0)
请参阅
我建议使用ajax吗? 这是一个主要的示例,但您可以应用于richfaces ..
<h:inputText value="#{facturaBean.stringOne}" >
<p:ajax event="change" listener="#{facturaBean.processValueChange}" update="strTwo"/> </h:inputText> <h:outputText value="Nombre: " />
<h:inputText id="strTwo" value="#{facturaBean.stringTwo}" />
</h:panelGrid>
private String stringOne= "";
private String stringTwo= "";
public void processValueChange(){
stringTwo = stringOne;
}
使用getter等...基本上在更改时,触发到ajax,你进行数据库调用等,然后它返回响应并更新你的其他输入字段,这比尝试提交表单等更简洁。< / p>
您还确定要会话范围吗?