salut,
j'ai besoin d'accéder aux managed-bean avec des tags JSTL. j'ai réussi à le faire pour les bean du scope session, par contre, ça ne marche pas lorsque le bean est déclaré en scope request !?
salut,
j'ai besoin d'accéder aux managed-bean avec des tags JSTL. j'ai réussi à le faire pour les bean du scope session, par contre, ça ne marche pas lorsque le bean est déclaré en scope request !?
En fait, j'affiche le contenu du requestScope avec une boucle forEach. exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <c:forEach items="${requestScope}" var="current"> <c:out value="${current.key}"/> <c:out value="${current.value}"/> </c:forEach>
sachant que j'ai déclaré mon bean dans le requestScope !
ouii ton bean est disponible que dans scope request, donc, dans la requete elle même, ta page est affiché au retour de la requete donc normal que le bean soit null.
je n'ai pas bien compris ta réponse. ça veut dire que le bean est détruit avant l'exécution de ma boucle forEach !?
Dans ce cas pourquoi j'arrive à y accéder dans les tags JSF ?
merci
non ton bean est détruit à la fin de la requete.
suppons tu envois une requete au serveur,
1- tu fais appel à la page index.jsp, c'est ta requete
1.bis - tu envoie dans la requete le bean en scope request UserBean
2- le serveur traite la requete
3- le serveur renvoie la reponse.
4- la page index.jsp est affiché.
UserBean est disponible que dans la requete.etapes 1bis-2
et les balises JSTL, elles sont évaluées à quelle étape (étape 2 ?)
sinon, il y a un moyen d'accéder à mes managed-bean avec la JSTL ?
voila se que je faisait (juste un exemple):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<c:out value="${requestScope['monBean'].monAttribut}" />
l'expression est évalué lors de la réponse,
oui tu peux accéder au bean,
tu peux expliquer pourquoi tu veux faire ça..peu être y'a une solution plus simple.
qqchose comme:
<h:selectOneMenu value="#{monBean.attribut1}" >
<c:forEach items="${requestScope.maListe}" var="current" >
<f:selectItem itemValue="#{monBean[current].attribut2}" itemLabel="#{monBundle[current]}" />
</c:forEach>
</h:selectOneMenu>
merci bcp
j'ai oublié de dire que je ne peux pas créer une collection de SelectItem dans mon bean, car je ne peux pas accéder à mon ressourceBundle (une contrainte architecturale)
donc même si je construit une collection de SelectItems, il faudrait que j'itère sur les élément de la collection pour afficher le text qui correspond à chaque clé stockée dans le ItemLabel
j'espère que c'est un peu claire
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager