2011-11-30 62 views
0

在我的JSF應用程序中,我有一個JSP頁面,它不斷生成一個警告,其中有時會被渲染。在日誌文件中,我可以看到這樣的事情:獲取警告「在構建視圖時不應調用getClientId。」

<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> 

難道是與表查詢的問題:

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

產生的警告看起來像這樣的組成部分?

我正在使用Trinidad 2.0.0。 我試過web.xml中的org.apache.myfaces.trinidad.CLIENT_ID_CACHING選項,我觀察所有選項ON,OFF和DEBUG的行爲。

回答

0

看起來,在屏幕上創建了一個下拉菜單時,出現了NPE。 代碼已修復,警告不再出現。

0

我的解決方案是在此狀態結束之前以輔助bean的方式編程刷新任何父代。

請注意,它看起來像是在2010年5月修訂版942933中將此消息添加到java/org/apache/myfaces/trinidad/component/UIXComponentBase.java中,以防止clientEd爲null時的NPE。

+0

好的研究,你有鏈接嗎?你是如何以編程方式刷新父母的?你的回答很可能是有效的,但是當你回答一個問題時請詳細說明! –

相關問題