2012-11-18 36 views
0

我需要設置一個動態頁面標題到preRenderView & preRenderComponent的監聽器在文檔主體內部執行後獲取的頁面。但是我發現那些標題是在這些聽衆被執行之前呈現的。渲染頭在preRenderView&preRenderComponent的內部監聽器方法執行後執行

有什麼辦法可以延遲標題標籤的渲染,直到聽衆執行完畢?

+1

不尋找一種方式來拖延,只尋找那些可以後'preRenderXXX',地方'jsf.ajax.addOnEvent(功能(數據被用來鉤){ \t \t如果(data.status == =「success」){alert('hello');}});'看看它是否在你的監聽器之後被調用... – Daniel

+0

這是在同步請求還是異步請求? PreRenderView應該可以正常工作,PreRenderComponent只有在掛鉤'UIViewRoot'時才能工作。 – BalusC

+0

@balusC:'h:head'裏面的''文件需要在初始頁面請求中設置,但是在偵聽器執行完畢後 – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="answer-title"> <span class="text-logo margin-top-sm">A</span> <h2 class="title h4">回答</h2> </div> <div class="item-description text-md markdown-body margin-bottom-40 voidso"> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">1<i class="fa fa-thumbs-up"></i></span> <i class="fa fa-check fa-2x"></i> </div> <div class="post-offset"> <div class="answer fmt"> <p>好的,我嘗試了以下策略作爲解決方法。我只是將<code class="prettyprint-override">f:event type="preRenderComponent"..</code>從<code class="prettyprint-override">body</code>內部移動到<code class="prettyprint-override">head</code>部分&我得到期望的行爲。</p> <pre><code class="prettyprint-override"><f:metadata> <f:viewParam name="id" value="#{bean.id}" /> </f:metadata> <ui:define name="titleOfPage"> <f:event type="preRenderComponent" listener="#{bean.method()}"/> #{bean.title} </ui:define> <ui:define name="bodyOfPage"> .. .. </ui:define> </code></pre> <p>主模板:</p> <pre><code class="prettyprint-override"><h:head> ... <title><ui:insert name="titleOfPage"></ui:insert></title> </h:head> <h:body > <ui:insert name="bodyOfPage">Body of the pages goes here</ui:insert> </h:body > </code></pre> <hr> <p>首先偵聽方法被調用&然後<code class="prettyprint-override">title</code>內部<code class="prettyprint-override">head</code>被渲染。</p> <p>也許<code class="prettyprint-override">PreRenderView</code>類型可能已被直接使用,而不需要將<code class="prettyprint-override">f:event</code>標籤移動到頭,但即使在不需要的ajax請求上也會觸發<code class="prettyprint-override">PreRenderView</code>。</p> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/13444228">來源</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2012-11-18 20:26:13</span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1038284119" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">相關問題</div> <ul class="relative_list"> <li> 1. <a href="http://hk.uwenku.com/question/p-mxfopgxf-un.html" target="_blank" title="Angular2在渲染後執行方法(Bootgrid)"> Angular2在渲染後執行方法(Bootgrid) </a> </li> <li> 2. <a href="http://hk.uwenku.com/question/p-bzkzpghl-ov.html" target="_blank" title="ASM方法執行監聽器"> ASM方法執行監聽器 </a> </li> <li> 3. <a href="http://hk.uwenku.com/question/p-qgkjjbqc-wu.html" target="_blank" title="f:由於渲染=「false」,ajax監聽器沒有執行?"> f:由於渲染=「false」,ajax監聽器沒有執行? </a> </li> <li> 4. <a href="http://hk.uwenku.com/question/p-bzmdmawa-xn.html" target="_blank" title="部分渲染後不執行Javascript"> 部分渲染後不執行Javascript </a> </li> <li> 5. <a href="http://hk.uwenku.com/question/p-nfbnlhmk-bgx.html" target="_blank" title="實現Main方法完成後需要執行的監聽器"> 實現Main方法完成後需要執行的監聽器 </a> </li> <li> 6. <a href="http://hk.uwenku.com/question/p-vfzuoysr-kz.html" target="_blank" title="Socket.io執行後刪除監聽器"> Socket.io執行後刪除監聽器 </a> </li> <li> 7. <a href="http://hk.uwenku.com/question/p-kisebxyh-boc.html" target="_blank" title="extjs渲染器未執行"> extjs渲染器未執行 </a> </li> <li> 8. <a href="http://hk.uwenku.com/question/p-mswbjlkb-bha.html" target="_blank" title="在部分渲染上執行JavaScript"> 在部分渲染上執行JavaScript </a> </li> <li> 9. <a href="http://hk.uwenku.com/question/p-otxgdpbd-bcw.html" target="_blank" title="Angular2/Ionic2:在監聽器中執行$ http.get"> Angular2/Ionic2:在監聽器中執行$ http.get </a> </li> <li> 10. <a href="http://hk.uwenku.com/question/p-zkwpcdpi-os.html" target="_blank" title="JavaScript監聽器的執行順序"> JavaScript監聽器的執行順序 </a> </li> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4606349252"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <li> 11. <a href="http://hk.uwenku.com/question/p-tenxzgwc-bma.html" target="_blank" title="h:selectOneMenu中的f:ajax監聽器方法未執行"> h:selectOneMenu中的f:ajax監聽器方法未執行 </a> </li> <li> 12. <a href="http://hk.uwenku.com/question/p-kefsbmud-xr.html" target="_blank" title="部分渲染時執行JavaScript?"> 部分渲染時執行JavaScript? </a> </li> <li> 13. <a href="http://hk.uwenku.com/question/p-bthjjrly-bnu.html" target="_blank" title="數據渲染後執行操作"> 數據渲染後執行操作 </a> </li> <li> 14. <a href="http://hk.uwenku.com/question/p-ykhkrgay-bdq.html" target="_blank" title="Javascript執行頁面渲染後IE6"> Javascript執行頁面渲染後IE6 </a> </li> <li> 15. <a href="http://hk.uwenku.com/question/p-cvromftx-hy.html" target="_blank" title="執行點擊監聽器到ListFragment"> 執行點擊監聽器到ListFragment </a> </li> <li> 16. <a href="http://hk.uwenku.com/question/p-yqohexxc-wm.html" target="_blank" title="Alfresco bpmn自定義執行監聽器"> Alfresco bpmn自定義執行監聽器 </a> </li> <li> 17. <a href="http://hk.uwenku.com/question/p-sgwrkrdo-oz.html" target="_blank" title="js.erb渲染,但不執行"> js.erb渲染,但不執行 </a> </li> <li> 18. <a href="http://hk.uwenku.com/question/p-dchtveix-e.html" target="_blank" title="如何在渲染視圖後執行部分更新?"> 如何在渲染視圖後執行部分更新? </a> </li> <li> 19. <a href="http://hk.uwenku.com/question/p-tqkfdzkb-zp.html" target="_blank" title="有沒有辦法監聽另一個類的方法執行?"> 有沒有辦法監聽另一個類的方法執行? </a> </li> <li> 20. <a href="http://hk.uwenku.com/question/p-zkzfaxgv-ga.html" target="_blank" title="在片段內部執行方法"> 在片段內部執行方法 </a> </li> <li> 21. <a href="http://hk.uwenku.com/question/p-yqncbtmn-pk.html" target="_blank" title="如何使事件監聽器在javascript中最後執行"> 如何使事件監聽器在javascript中最後執行 </a> </li> <li> 22. <a href="http://hk.uwenku.com/question/p-gkildvem-bby.html" target="_blank" title="在偵聽器方法執行後調用Onstart"> 在偵聽器方法執行後調用Onstart </a> </li> <li> 23. <a href="http://hk.uwenku.com/question/p-azthwowg-mz.html" target="_blank" title="Vue.js在組件渲染後執行事件觸發器嗎?"> Vue.js在組件渲染後執行事件觸發器嗎? </a> </li> <li> 24. <a href="http://hk.uwenku.com/question/p-mheblpbh-bnc.html" target="_blank" title="執行f:ajax時總是調用JSF2 preRenderComponent"> 執行f:ajax時總是調用JSF2 preRenderComponent </a> </li> <li> 25. <a href="http://hk.uwenku.com/question/p-ydinumck-ds.html" target="_blank" title="Rails 4,Turbolink渲染部分後執行JavaScript"> Rails 4,Turbolink渲染部分後執行JavaScript </a> </li> <li> 26. <a href="http://hk.uwenku.com/question/p-umvdsckz-hw.html" target="_blank" title="preRenderView方法執行之前,我的網頁"> preRenderView方法執行之前,我的網頁 </a> </li> <li> 27. <a href="http://hk.uwenku.com/question/p-tztjlgej-bcr.html" target="_blank" title="在primefaces數據表上使用監聽器執行行單擊"> 在primefaces數據表上使用監聽器執行行單擊 </a> </li> <li> 28. <a href="http://hk.uwenku.com/question/p-woeqcdho-gr.html" target="_blank" title="捕捉/監聽功能的執行"> 捕捉/監聽功能的執行 </a> </li> <li> 29. <a href="http://hk.uwenku.com/question/p-vgltjugk-sh.html" target="_blank" title="Android的 - 功能執行監聽"> Android的 - 功能執行監聽 </a> </li> <li> 30. <a href="http://hk.uwenku.com/question/p-kmdywewh-xw.html" target="_blank" title="在渲染前執行代碼"> 在渲染前執行代碼 </a> </li> </ul> </div> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1575177025"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img.uwenku.com/uwenku/script/side.js?t=1644592048261"></script> <script type="text/javascript" src="http://img.uwenku.com/uwenku/plugin/highlight/highlight.pack.js"></script> <link href="http://img.uwenku.com/uwenku/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="5415218910" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 最新問題 </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://hk.uwenku.com/question/p-qzsstqha-bgm.html" target="_blank" title="的Javascript爲什麼我可以訪問的功能"> 的Javascript爲什麼我可以訪問的功能 </a> </li> <li class="side_article_list_item"> 2. <a href="http://hk.uwenku.com/question/p-yagpsavz-bmt.html" target="_blank" title="當瀏覽器導航時,嵌套在ng-click偵聽器中的$ interval被調用"> 當瀏覽器導航時,嵌套在ng-click偵聽器中的$ interval被調用 </a> </li> <li class="side_article_list_item"> 3. <a href="http://hk.uwenku.com/question/p-rcfspyde-bmn.html" target="_blank" title="從終端打開MySQL"> 從終端打開MySQL </a> </li> <li class="side_article_list_item"> 4. <a href="http://hk.uwenku.com/question/p-ydewavfq-boc.html" target="_blank" title="滾動不能僅在屏幕中間工作"> 滾動不能僅在屏幕中間工作 </a> </li> <li class="side_article_list_item"> 5. <a href="http://hk.uwenku.com/question/p-vnabnzjx-bnh.html" target="_blank" title="創建帳戶腳本"> 創建帳戶腳本 </a> </li> <li class="side_article_list_item"> 6. <a href="http://hk.uwenku.com/question/p-pgikxipx-bcw.html" target="_blank" title="在AJAX調用之後保持div打開?"> 在AJAX調用之後保持div打開? </a> </li> <li class="side_article_list_item"> 7. <a href="http://hk.uwenku.com/question/p-gvbfquto-bdn.html" target="_blank" title="按鈕不會工作"> 按鈕不會工作 </a> </li> <li class="side_article_list_item"> 8. <a href="http://hk.uwenku.com/question/p-owknifqg-bhe.html" target="_blank" title="ValueError:無效文字爲float():2017-03-18 19:22:51-07:00"> ValueError:無效文字爲float():2017-03-18 19:22:51-07:00 </a> </li> <li class="side_article_list_item"> 9. <a href="http://hk.uwenku.com/question/p-cusechkj-bgy.html" target="_blank" title="如何保持cmd行顯示控制檯日誌WHILE攪拌機遊戲引擎運行"> 如何保持cmd行顯示控制檯日誌WHILE攪拌機遊戲引擎運行 </a> </li> <li class="side_article_list_item"> 10. <a href="http://hk.uwenku.com/question/p-kjndzcwa-bhu.html" target="_blank" title="在emacs中使用不同的包存儲庫"> 在emacs中使用不同的包存儲庫 </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> 相關問題</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://hk.uwenku.com/question/p-mxfopgxf-un.html" target="_blank" title="Angular2在渲染後執行方法(Bootgrid)"> Angular2在渲染後執行方法(Bootgrid) </a> </li> <li class="side_article_list_item"> 2. <a href="http://hk.uwenku.com/question/p-bzkzpghl-ov.html" target="_blank" title="ASM方法執行監聽器"> ASM方法執行監聽器 </a> </li> <li class="side_article_list_item"> 3. <a href="http://hk.uwenku.com/question/p-qgkjjbqc-wu.html" target="_blank" title="f:由於渲染=「false」,ajax監聽器沒有執行?"> f:由於渲染=「false」,ajax監聽器沒有執行? </a> </li> <li class="side_article_list_item"> 4. <a href="http://hk.uwenku.com/question/p-bzmdmawa-xn.html" target="_blank" title="部分渲染後不執行Javascript"> 部分渲染後不執行Javascript </a> </li> <li class="side_article_list_item"> 5. <a href="http://hk.uwenku.com/question/p-nfbnlhmk-bgx.html" target="_blank" title="實現Main方法完成後需要執行的監聽器"> 實現Main方法完成後需要執行的監聽器 </a> </li> <li class="side_article_list_item"> 6. <a href="http://hk.uwenku.com/question/p-vfzuoysr-kz.html" target="_blank" title="Socket.io執行後刪除監聽器"> Socket.io執行後刪除監聽器 </a> </li> <li class="side_article_list_item"> 7. <a href="http://hk.uwenku.com/question/p-kisebxyh-boc.html" target="_blank" title="extjs渲染器未執行"> extjs渲染器未執行 </a> </li> <li class="side_article_list_item"> 8. <a href="http://hk.uwenku.com/question/p-mswbjlkb-bha.html" target="_blank" title="在部分渲染上執行JavaScript"> 在部分渲染上執行JavaScript </a> </li> <li class="side_article_list_item"> 9. <a href="http://hk.uwenku.com/question/p-otxgdpbd-bcw.html" target="_blank" title="Angular2/Ionic2:在監聽器中執行$ http.get"> Angular2/Ionic2:在監聽器中執行$ http.get </a> </li> <li class="side_article_list_item"> 10. <a href="http://hk.uwenku.com/question/p-zkwpcdpi-os.html" target="_blank" title="JavaScript監聽器的執行順序"> JavaScript監聽器的執行順序 </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://hk.uwenku.com/contact">聯系我們</a></li> <li>© 2020 HK.UWENKU.COM</li> <li><a target="_blank" href="https://beian.miit.gov.cn/">沪ICP备13005482号-4</a></li> <li><script type="text/javascript" src="https://v1.cnzz.com/z_stat.php?id=1280101193&web_id=1280101193"></script></li> <li><a href="http://www.uwenku.com/" target="_blank" title="优文库">简体中文</a></li> <li><a href="http://hk.uwenku.com/" target="_blank" title="優文庫">繁體中文</a></li> <li><a href="http://ru.uwenku.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.uwenku.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.uwenku.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.uwenku.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.uwenku.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.uwenku.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.uwenku.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.uwenku.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.uwenku.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.uwenku.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.uwenku.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f78a970f17b19a79fc477a3378096f29"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>