我遇到了以下问题:
Primefaces remoteCommand 没有执行,这是否取决于我的 portlet 的生命周期?
<h:form id="controllayer">
.
.
.
<p:remoteCommand name="updatePageId" actionListener="#{formView.updatePageId}" />
</h:form>
<script>
var pageID;
Liferay.on('eventFire', function(event)
{
console.log("Recieved");
console.log(event.name);
pageID = event.name;
update();
});
function update() {
console.log("Recieved PageID: " + pageID);
updatePageId({newPageId: pageID});
}
</script>
我也尝试过不带参数,但即使这样也行不通。
@SessionScoped
@ManagedBean(name="formView")
public class MainViewBean implements PagesUploadCallback, PageUploadCallback, PageActionCallback, Serializable
{
.
.
.
public void updatePageId()
{
LOG.info("Update Page ID");
String pageIdString = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("newPageId");
long pageId = Long.valueOf(pageIdString);
LOG.debug("Setting Page: " + pageId);
pageService.setActivePage(pageId);
}
.
.
.
}
我的 JavaCode 从未被调用。
最佳答案
<p:remoteCommand name="docheck"
process="@form,box1,box2"
update="box1,box2"
action="#{testBean.myAction()}" />
这是您需要如何更改代码的示例。这将解决您的问题。如需进一步引用,请参阅以下链接:
https://forum.primefaces.org/viewtopic.php?p=61733&sid=bf526834599e119a2d8a4e0f9a6989fb#p61733
关于jsf - p :remoteCommand not executing/not called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34650940/