2010-11-11 12 views
0

Markup:Comportement étrange de viewScope avec l'attribut fuseauHoraire

<h:head> 
     <title>title</title> 
    </h:head> 
    <h:body> 
     <h:form> 
     <h:outputText value="#{viewScopeBacking.date}"> 
      <f:convertDateTime timeZone="#{viewScopeBacking.timeZone}"/> 
     </h:outputText> 

     <h:commandButton action="#{viewScopeBacking.action}" value="submit"> 
      <f:ajax event="action" render="op"/> 
     </h:commandButton> 

     <h:outputText value="#{viewScope.view}" id="op"/> 
     </h:form> 
    </h:body> 
</html> 

haricots Sauvegarde:

@ManagedBean 
@RequestScoped 
public class viewScopeBacking { 

    public viewScopeBacking() { 
    } 
    @ManagedProperty(value = "#{viewScope}") 
    Map<String, Object> viewMap; 
    private Date date = new Date(); 
    private TimeZone timeZone = TimeZone.getDefault(); 

    public void action() { 
     getViewMap().put("view", "hello world"); 
    } 

    //getters and setters 
    public Date getDate() { 
     return date; 
    } 

    public void setDate(Date date) { 
     this.date = date; 
    } 

    public TimeZone getTimeZone() { 
     return timeZone; 
    } 

    public void setTimeZone(TimeZone timeZone) { 
     this.timeZone = timeZone; 
    } 

    public Map<String, Object> getViewMap() { 
     return viewMap; 
    } 

    public void setViewMap(Map<String, Object> viewMap) { 
     this.viewMap = viewMap; 
    } 
} 

En appuyant sur le bouton, le outputText devrait être mis à jour par la théorie. Mais cela ne se produit pas tant que vous n'avez pas supprimé l'attribut timeZone de convertDateTime.

+0

Comment est-ce [Java] ** et ** [c] ** et ** [.net]? –

+0

Ceci est Java (JSF 2.0) – siva636

+0

Mais vous avez ajouté C et NET aux balises. Ils n'ont aucun sens dans cette question, donc Marc les a supprimés (et j'ai remplacé la balise JSP par la balise JSF puisque vous n'utilisez pas JSP du tout, mais Facelets) – BalusC

Répondre

0

utilisation <f:convertDateTime timeZone="#{Application.timeZone}"/>

au lieu de votre ManagedBean.

au moins cela a résolu mon problème. faites-moi savoir si vous connaissez la raison.

acclamations