当readonly为true或outputText时,jsf inputText仅显示值

时间:2014-02-21 21:13:17

标签: jsf jsf-2 ajax4jsf

我有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>

1 个答案:

答案 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>

您还确定要会话范围吗?