2012-04-26 55 views
-2

從一個頁面導航到另一個頁面時,頁面不會更新。 誰能告訴我爲什麼?Icefaces/JSF頁面不更新<TITLE>

的設置:

頁a.xhtml:

<html 
     xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:ice="http://www.icesoft.com/icefaces/component"> 
    <h:head> 
    <ui:insert name="stuffToInclude"> 
    </ui:insert> 
    </h:head> 
    <h:body> 
    .... 
    </h:body> 

頁b.xhtml:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ice="http://www.icesoft.com/icefaces/component"> 

<ui:composition template="/a.xhtml"> 


    <ui:define name="stuffToInclude"> 
     <meta name="description" content="pierre" /> 
     <title> 
      <ui:insert name="title"/> 
     </title> 
    </ui:define> 

    </h:head> 

頁c.xhtml:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ice="http://www.icesoft.com/icefaces/component"> 
    <h:head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
    </h:head> 
    <h:body> 
     <ui:composition template="/b.xhtml"> 
    <ui:define name="title"> 
     <ice:outputText id="title" nospan="true" value="C Title" /> 
    </ui:define> 
     ..... 
    </h:body> 
</html> 

導航頁c.jsf做這樣:

FacesContext.getCurrentInstance().getViewRoot().setViewId("c.xhtml"); 

的問題是,「標題」元素不更新到新標題。它在保存來自c.xhtml之前的第一頁的值。 看來,整個「HEAD」元素沒有加載新頁面。 建議?

謝謝

回答

0

我們現在已經改變了我們導航到頁面的方式。 現在我們正在使用:

FacesContext.getCurrentInstance().getExternalContext().redirect(getViewId());