jsf - p :remoteCommand not executing/not called

标签 jsf primefaces liferay

我遇到了以下问题:

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/

相关文章:

css - jsf模板中的背景url路径

java - JSF 2.2资源应该放在哪里 : WEB-INF or root

css - 如何控制 PanelGrid 中 DataTable 的对齐方式?

css - 将样式应用于 p :datatable 中的页眉

Primefaces AJAX 更新属性给出 ArrayIndexOutOfBoundsException

java - 选项列表转换器

java - 使用 primefaces 上传文件时出现编码问题

tomcat - 我已经卸载了 Plone,但它的主页一直显示在 http ://localhost:8080/

java - Spring MVC 和 Liferay - 资源映射问题

liferay - 如何以编程方式获取文档库内容的下载 url