如何在jsf中更新h:inputtext

时间:2013-05-29 08:01:10

标签: javascript jquery jsf

在Jquery中我正在成功地向托管bean发送值

document.getElementById('formId:inputId').value = "blavla";
document.getElementById('formId:someId').click();

我的jsf代码是:

 <h:inputText id="inputId" value="#{gestionduplanning.testvalue}" >
 <f:ajax/>
 </h:inputText>
 <h:inputText id="inputId3" value="#{gestionduplanning.testvalue2}" /> 

 <h:commandButton id="someId" value="Button" action="{gestionduplanning.exec2(gestionduplanning.testvalue)}" style="display:none">
 <f:ajax render="someId" execute="@all"/>  
 </h:commandButton>

和我的托管bean方法:

   public void exec2(String x) {

    this.testvalue2 = testvalue;   

   }

问题是当我将testvalue的值赋给testvalue2时,我什么都没有。

我如何赋予此值的值并显示在h:inputText

1 个答案:

答案 0 :(得分:1)

之前我用Primefaces做过。也许它可以帮到你;

这是我在页面中的代码部分;

<p:commandButton id="linkButton2" process=":form:receivedMessage"
            style="display:none" />

<h:inputText id="receivedMessage" style="display:none"></h:inputText>

Javascript代码部分;

document.getElementById('form:receivedMessage').value = 'myValue';
document.getElementById('form:linkButton2').click();

这些代码部分对我有用,可以将数据从javascript发送到支持托管bean。

单击命令按钮时,bean变量也将被输入值填充。所以你不需要将它作为函数参数发送。