我为任何数据写了一个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?
答案 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:param
或f:attribute
,而不是使用隐藏的输入。
在BalusC的品牌下阅读这篇非常好的文章:http://balusc.blogspot.com/2006/06/communication-in-jsf.html。