【问题标题】:How to update a h:inputHidden with p:commandButton?如何使用 p:commandButton 更新 h:inputHidden?
【发布时间】:2011-12-16 04:17:25
【问题描述】:

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

代码:

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

当我单击命令按钮时,值不起作用。 但如果我使用 h:outputText,它会起作用。

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

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

【问题讨论】:

  • 您究竟是如何得出“行不通”的结论的?

标签: jsf jsf-2 primefaces


【解决方案1】:

使用 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>

【讨论】:

    【解决方案2】:

    如果primefaces ajax没有解决你的问题,你可以使用jsf提供的原生ajax看看

    【讨论】:

      【解决方案3】:

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

      阅读这篇非常棒的文章,以 BalusC 为品牌:http://balusc.blogspot.com/2006/06/communication-in-jsf.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-19
        • 1970-01-01
        • 2013-11-29
        • 2011-05-31
        • 1970-01-01
        相关资源
        最近更新 更多