[primefaces] gestion de la navigation et du chargement des composants dynamiques
Bonjour à tous,
voici ma problématique, je souhaiterai mettre en place un système dynamique pour charger des composants selon un paramétrage défini.
je détaille :
j'ai un écran coupé en 1 tiers / 2 tiers.
lorsque j'arrive sur ma page, je reçois un paramètre m'indiquant dans quel composants afficher sur le 1er tiers.
par exemple, si je reçois p1, je devrais afficher les composants C1, C2 et C4
si je reçois p2, je devrais afficher C2, C4
si je reçois p3, je devrais afficher C3,C5
..... et ainsi de suite
j'ai un paramétrage entre le paramètre reçu et les composants à afficher
Ayant un grand nombre de composants, de données et de possibilités, je souhaiterai avoir un système dynamique s'appuyant sur la paramétrage qui ne chargerai uniquement les composants souhaités et les données liées.
une fois le 1er tiers affiché, l’utilisateur pourra cliquer sur certaines infos contenu dans les composants pour afficher une vue détaillé dans les 2 tiers restants.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<f:metadata>
<f:viewAction action="#{testControleur.initPage()}"
onPostback="false" />
</f:metadata>
<ui:define name="titre-page"> test</ui:define>
<ui:define name="corps-page">
<section class="corps_zone_1quart">
<p:panel id="panelResumeRcs" >
<ui:repeat var="nomComposantResume"
value="#{monBean.listeResume}">
<ui:include
src="/WEB-INF/composants/resume/#{nomComposantResume}" />
</ui:repeat>
</p:panel>
</section> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
/**
* cette methode nous permet d'initialiser les bean liée a la page
*/
public void initPage() {
monBean.setListeResume(new ArrayList<String>());
//info générales
monBean.getListeResume().add("composant-resume-info-gen.xhtml");
//administration
monBean.getListeResume().add("composant-resume-administration.xhtml");
administrationControleur.initAdministration();
listeTransverseControleur.initialiserListePourAdministration();
} |
j'ai commencé à faire un essai avec la balise ui:repeat mais j'ai l'erreur suivante :
Code:
1 2
|
15:21:31,887 SEVERE [fr.convergence.commun.exception.CustomExceptionHandler] (default task-2) Erreur non gérée par l'application détectée: javax.faces.view.facelets.FaceletException: Error Parsing /WEB-INF/composants/resume/: Error Traced[line: 1] Content is not allowed in prolog. |
j'ai l'impression que ma listeResume (mon bean / controleur) n'est pas encore initialisé lors de l’interprétation de ma page (même chose avec l'ajout d'un @postConstruct)
Merci pour vos réponse