2010-07-30 8 views
1

Je commence tout juste à utiliser JavaServer Faces et j'ai un peu de mal à comprendre comment fonctionnent certaines parties de la navigation. Ce que je veux faire, c'est que mon application tape une méthode java avant de charger la page d'accueil afin que ces données soient disponibles sur la page d'accueil. Je sais comment faire cela sur d'autres pages en créant en utilisant les éléments suivants:Envoyer des données à JSF page d'accueil

<h:commandLink action="#{myController.methodName}" /> 

Et ayant cette méthode renvoie un résultat qui serait alors aller à la page que je veux. Cependant, je ne sais pas comment faire pour la page d'accueil.

Répondre

1

Placez simplement le code souhaité dans le constructeur de la classe de bean géré associée à la page.

public Bean() { 
    // Do your stuff here. 
} 

Vous pouvez déclarer une méthode de haricot avec l'annotation @PostConstruct. Une telle méthode sera exécutée directement après construction et initialisation/réglage de toutes les propriétés gérées.

@PostConstruct 
public void init() { 
    // Do your stuff here. 
} 

Ceci est plus utile si l'action dépend de paramètres de requête et/ou d'autres beans.

+0

Comment associer un bean géré à la page? Désolé si c'est une réponse évidente, je suis nouveau à JSF, je suis habitué à utiliser Servlets et JSP. Merci pour votre aide! – Jared

+0

Ayez juste '# {bean.property}' quelque part dans la page. Vous voulez afficher certaines données, n'est-ce pas? Sur '# {bean}' JSF construira le bean automagiquement s'il n'est pas encore construit. – BalusC

+0

Cela fonctionne parfaitement. Merci de votre aide! – Jared

Questions connexes