获得警告"getClientId should not be called while the view is being constructed."



在我的JSF应用程序中,我有一个不断生成警告的JSP页面,该警告有时会呈现。在日志文件中,我可以看到这样的内容:

WARNING: getClientId should not be called while the view is being constructed. 
         Component-ID: j_id18

生成警告的组件如下所示:

<tr:panelCaptionGroup captionText="Jobs">
<tr:poll pollListener="#{jobBean.update}" id="poll" interval="#{msg.cfg_pollingInterval}" />
<tr:table allDetailsEnabled="true" partialTriggers="::poll ::groupFilter">
  <f:facet name="detailStamp" >
    <tr:table var="trg" value="#{subbean}" >
       ...stuff...
</tr:table>
  </f:facet>
  <tr:column>
    <h:panelGroup>
  <tr:commandLink  />
    </h:panelGroup>
  </tr:column>
  <tr:column />
</tr:table>

可能是表中轮询的问题吗?

我使用的是Trinidad 2.0.0。我已经尝试了web.xml中的org.apache.myfaces.trinidad.CLIENT_ID_CACHING选项,我观察了所有选项ON, OFF和DEBUG的行为。

看起来,在屏幕上创建下拉菜单时,某个地方发生了NPE。代码已经修复,警告不再出现。

我的解决方案是在备份bean结束这种状态之前以编程方式刷新任何父节点。

注意,看起来这个消息被添加到java/org/apache/myfaces/trinidad/component/UIXComponentBase.java在2010年5月的942933修订版中,以防止和NPE当clientId为空

相关内容

  • 没有找到相关文章

最新更新