Titel in h:Kopf dargestellt, bevor der render-response-phase?

Ich versuche, den Wert für das HTML-element title (innen h:head-element) dynamisch basierend auf view-Parameter. Ich bin der Wert verwendet werden, in einem preRenderView system-Ereignis. Ich habe bemerkt, dass die EL um den Titel zu Holen wird ausgewertet, bevor die preRenderView-Ereignis ausgelöst wird! Warum ist das so und gibt es irgendetwas, was ich tun kann?

Wenn schnappe ich mir den generierten Titel Wert in h:outputText irgendwo in der Seite, es ist wie erwartet angezeigt.

Passenden:

<h:head>
    <title>#{myBean.title}</title>
</h:head>

Bean:

public void preRenderView(ComponentSystemEvent event) {
    title = "Person: " + firstname " " + lastname; 
}
  • Nicht reproduzieren können, Ihr problem auf Mojarra 2.0.3 noch 2.1.1. Was JSF-impl/version verwenden Sie?
  • Ich bin mit GlassFish 3.1 und ich denke, dass kommt mit Mojarra 2.1.
  • Das Beispiel, das ich gab oben ist eine Vereinfachung - ich bin tatsächlich mit einer Vorlage, so dass jeder meiner Seiten können Ihre eigenen dynamischen Titel: <title><ui:insert - > name="title"></ui:insert></title>. Vielleicht Fragen?
  • Nicht reproduzieren können, auf GF 3.1 als gut. Wie genau sind Sie aufrufen der preRenderView?
  • Ahhh... Du hast gerade meine Frage beantwortet! Ich zog vor kurzem die preRenderView zu einem preRenderComponent auf ein leeres Element, so dass die ajax-Anfragen würden nicht auslösen preRenderView Veranstaltung. Das brach der dynamische Titel! Danke. Lassen Sie mich wissen, wie Ihnen Punkte, weil ich bin neu bei StackOverflow.
  • Ah, du bist im Grunde mit der Ajax-Anfragen zu navigieren? Sowieso, durch Zufall bin ich schon gepostet, eine Antwort.
  • Nochmals vielen Dank. Ich bin nicht mit Ajax zu navigieren, aber ich habe eine Seite mit einer TabPane und jedem Register gespeichert werden kann, selbständig mit Ajax. Diese Ajax rettet trigger die preRenderView system-Ereignis! Es ist eine Diskussion über wie zu deal mit dieses, auf StackOverflow eigentlich: stackoverflow.com/questions/2830834/...

InformationsquelleAutor Ryan | 2011-06-08
Schreibe einen Kommentar