如何使用p:commandButton更新h:inputHidden?

时间:2011-12-16 04:17:26

标签: jsf jsf-2 primefaces

我为任何数据写了一个ajax请求。但是数据不适用于h:inputHidden。 我认为这是Primefaces的一个错误。 但我现在不知道如何获取数据。

代码:

<h:inputHidden id="buttonData" value="#{buttonDataBean.buttonData}" />
...
<p:commandButton id="getData" action="#{buttonAction.getButtonData}" update="buttonData" />

当我单击commandButton时,值不起作用。 但是如果我使用h:outputText,它就可以工作。

我的要求: 在单击commandButton之前,我已动态创建任何html按钮。我想单击commandButton并更新html按钮的名称和位置。所以我必须获取任何数据并使用Javascript更新html按钮。 我怎么能这样做?

如果我想使用JavaScript获取ajax数据,该怎么做。我看到了文档并找到了两个方法:jsf.ajax.request()和Primefaces.ajax.AjaxRequest()。但我不知道如何使用这两种方法。例如:Primefaces.ajax.AjaxRequest(“test.xhtml”,,)。 “test.xhtml”如何请求testAction的方法testMeth?

3 个答案:

答案 0 :(得分:0)

使用firebug检查html代码。你可以看到新的价值

<h:form id="form">
  <h:inputHidden  id="buttonData" value="#{buttonDataBean.buttonData}" />
  <p:commandButton id="getData" value="button"
                   action="#{buttonDataBean.buttonAction}" update="buttonData" />
</h:form>

答案 1 :(得分:0)

如果你的问题没有通过primefaces ajax解决,你可以使用jsf提供的本机ajax看看它。它有效,我用它做了很多这样的事情。

答案 2 :(得分:0)

您可以利用JSF并使用f:paramf:attribute,而不是使用隐藏的输入。

在BalusC的品牌下阅读这篇非常好的文章:http://balusc.blogspot.com/2006/06/communication-in-jsf.html