<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>What can be the cause for an unset clientid?</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=120593930" />
  <subtitle>What can be the cause for an unset clientid?</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=120593930</id>
  <updated>2026-04-03T21:48:02Z</updated>
  <dc:date>2026-04-03T21:48:02Z</dc:date>
  <entry>
    <title>RE: What can be the cause for an unset clientid?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120594158" />
    <author>
      <name>Gunnar Brinkmann</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120594158</id>
    <updated>2021-02-08T12:41:44Z</updated>
    <published>2021-02-08T12:39:29Z</published>
    <summary type="html">&lt;p&gt;I've applied a &amp;quot;client side workaround&amp;quot;, but maybe this
  topic is still an unsolved problem and no normal behaviour.&lt;/p&gt;
&lt;p&gt;My &amp;quot;client side workaround&amp;quot; is (instead of
  &amp;quot;filterBy&amp;quot; for &amp;quot;datatable&amp;quot;)&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-html"&gt;...
    &amp;lt;/p:dataTable&amp;gt;
&amp;lt;/p:panel&amp;gt;
&amp;lt;h:outputText value=&amp;quot;#{miController.defaultFilterWorkaround}&amp;quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;along with&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;public String getDefaultFilterWorkaround()
{
    PrimeFaces.current().executeScript(&amp;quot;PF('&amp;quot; + CONTRACTS_TABLE_WIDGET_VAR + &amp;quot;').filter()&amp;quot;);
    return &amp;quot;&amp;quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>Gunnar Brinkmann</dc:creator>
    <dc:date>2021-02-08T12:39:29Z</dc:date>
  </entry>
  <entry>
    <title>RE: What can be the cause for an unset clientid?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120594080" />
    <author>
      <name>Gunnar Brinkmann</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120594080</id>
    <updated>2021-02-08T11:55:42Z</updated>
    <published>2021-02-08T11:55:42Z</published>
    <summary type="html">&lt;p&gt;Further investigations:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;still no clientIds when I'm working &lt;strong&gt;without &lt;/strong&gt;the
    composite (hierarchiy view -&amp;gt; form -&amp;gt; primefaces datatable
    -&amp;gt; column...)&lt;/li&gt;
  &lt;li&gt;here an &lt;strong&gt;NPE &lt;/strong&gt;is thrown instead of &amp;quot;ERROR
    [ExceptionHandlerBridgeImpl:81] null&amp;quot; (see below)&lt;/li&gt;
  &lt;li&gt;the NPE is &lt;strong&gt;only &lt;/strong&gt;thrown when I use
    &amp;quot;filterBy&amp;quot; for the datatable itself to apply default filtering&lt;/li&gt;
  &lt;li&gt;because this leads to primefaces trying to &lt;strong&gt;identify
    &lt;/strong&gt;the column from the given FilterState by it's clientId
    which is unset&lt;/li&gt;
  &lt;li&gt;when I'm &lt;strong&gt;binding &lt;/strong&gt;the dataTable and log the column
    clientIds in some Getter I can see column clientIds are
      &lt;strong&gt;correctly &lt;/strong&gt;set before the NPE occurs&lt;/li&gt;
  &lt;li&gt;so the first problem are &lt;strong&gt;unset clientIds&lt;/strong&gt; via
    executeRender / renderView / encodeChildren / encodeEnd&lt;/li&gt;
  &lt;li&gt;and the second problem is Primefaces 7 &lt;strong&gt;not
    testing&lt;/strong&gt; for a null clientId&lt;/li&gt;
  &lt;li&gt;still unsure whether the first problem is a bug in Liferay Faces
    or Primefaces or normal behaviour&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;java.lang.NullPointerException
        at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:117)
        at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:85)
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
        at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
        at javax.faces.render.RendererWrapper.encodeChildren(RendererWrapper.java:95)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
        at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
        at javax.faces.view.ViewDeclarationLanguageWrapper.renderView(ViewDeclarationLanguageWrapper.java:146)
        at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
        at com.liferay.faces.bridge.application.internal.ViewHandlerCompatImpl.renderView(ViewHandlerCompatImpl.java:93)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
        at com.liferay.faces.bridge.internal.BridgePhaseHeaderRenderCommon.executeRender(BridgePhaseHeaderRenderCommon.java:253)
        at com.liferay.faces.bridge.internal.BridgePhaseRenderCompatImpl.execute(BridgePhaseRenderCompatImpl.java:57)
        at com.liferay.faces.bridge.internal.BridgePhaseRenderImpl.execute(BridgePhaseRenderImpl.java:57)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>Gunnar Brinkmann</dc:creator>
    <dc:date>2021-02-08T11:55:42Z</dc:date>
  </entry>
  <entry>
    <title>What can be the cause for an unset clientid?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120593929" />
    <author>
      <name>Gunnar Brinkmann</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120593929</id>
    <updated>2021-02-08T09:22:44Z</updated>
    <published>2021-02-08T09:18:22Z</published>
    <summary type="html">&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I'm currently debugging regarding a Logmessage &amp;quot;ERROR
  [ExceptionHandlerBridgeImpl:81] null&amp;quot; in a JSF portlet.&lt;/p&gt;
&lt;p&gt;The cause may be that the clientId is unset for a primefaces column.&lt;/p&gt;
&lt;p&gt;The functionality I've implemented is default filtering for a
  primefaces datatable.&lt;/p&gt;
&lt;p&gt;According to my debugging primefaces sees the columns (column id's
  are correct), but &amp;quot;clientid&amp;quot; is unset in the colums.&lt;/p&gt;
&lt;p&gt;I'm asking here because I'm unsure where to look for further details.&lt;/p&gt;
&lt;p&gt;The component hierachy is view -&amp;gt; form -&amp;gt; composite -&amp;gt;
  primefaces panel -&amp;gt; primefaces datatable -&amp;gt; column...&lt;/p&gt;
&lt;p&gt;My versions are DXP 7.1 (FP dxp-19-7110, hotfix hotfix-4981-7110)
  with portlet dependencies&lt;/p&gt;
&lt;p&gt;com.liferay.faces.alloy-3.0.3.jar
  com.liferay.faces.bridge.api-4.1.0.jar
  com.liferay.faces.bridge.ext-5.0.5.jar
  com.liferay.faces.bridge.impl-4.1.4.jar
  com.liferay.faces.portal-3.0.5.jar com.liferay.faces.util-3.3.0.jar
  com.liferay.&lt;br /&gt;portal.configuration.metatype.api-1.2.1.jar
  com.liferay.portal.configuration.metatype.definitions.annotations-3.0.10.jar
  com.liferay.portal.configuration.metatype.definitions.equinox-3.0.4.jar
  javax.faces-2.2.20.jar javax.faces-api-&lt;br /&gt;2.2.jar
  javax.inject-1.jar primefaces-7.0.14.jar&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Gunnar&lt;/p&gt;
&lt;p&gt;edit: corrected &amp;quot;default filtering&amp;quot; instead of
  &amp;quot;default sorting&amp;quot;&lt;br /&gt;edit: corrected &amp;quot;7.1&amp;quot;
  instead of &amp;quot;7.2&amp;quot;&lt;/p&gt;</summary>
    <dc:creator>Gunnar Brinkmann</dc:creator>
    <dc:date>2021-02-08T09:18:22Z</dc:date>
  </entry>
</feed>
