1

在 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

4

1 回答 1

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 变量也将由输入值填充。所以你不需要将它作为函数参数发送。

于 2013-05-29T08:22:56.010 回答