Bonjour,
comment puis-je faire l'équivalent de <jsp:setProperty ... pour un managed bean en jsf ?
MErci.
Bonjour,
comment puis-je faire l'équivalent de <jsp:setProperty ... pour un managed bean en jsf ?
MErci.
le value binding, simplement
Code : Sélectionner tout - Visualiser dans une fenêtre à part <h:inputXXX value="#{managedBean.property}" />
hum, je pense que j'ai un problème, c'est pas destiné pour un navigateur web.
Et en fait je veux faire une action lorsqu'une page est appelée :
j'ai essayé çà, mais çà passe pas, ce qui semble logique, mais je suis super perdu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <c:forEach var="entry" items="${param}" > <jsp:setProperty name="equipements" property="updatedParams" value="${entry}" /> </c:forEach>
Alors j'ai trouvé çà :
avec dans Util.java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <% tr.EquipementController eqtCtrl = (tr.EquipementController) tr.Util.getBean("equipements"); eqtCtrl.setUpdate(true); %>
Et çà fonctionne bien, mais maintenant j'ai un petit problème : setUpdate prend un boolean en entrée, facile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static Object getBean(String expr){ FacesContext context = FacesContext.getCurrentInstance(); Application app = context.getApplication(); ValueBinding binding = app.createValueBinding("#{" + expr + "}"); Object value = binding.getValue(context); return value; }
Mais j'ai un petit problème :
que dois-je mettre à la place de '_____' ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <c:forEach var="entry" items="${param}" > <% eqtCtrl.setUpdatedParams(____); %> </c:forEach>
${entry} ne fonctionne pas
tu fais du JSF, l'utilisation des scriptlets est bannie, même avec les jsp..
explique ce que tu veux faire ..
je dois générer du xml décrivant une ihm pour un client java semi léger.
le client n'est pas un navigateur web, donc jsf est peut être pas ce qui me faut, mais les managed bean sont bien pratique.
quand dans le client semi léger je clic sur un bouton, çà appel ma page postConfig.jsf avec plein de valeurs dans le POST, ces valeurs doivent être traités par mon bean, je cherche un moyen de tout lui envoyer, avec jsp, je peut faire un forEarch sur les params post, et utiliser un jsp:setProperty pour appeler le setter du bean.
Mais avec jsf, je ne sais pas comment faire, comme je l'ai dit plus haut, jsf n'est peut être pas ce qu'il me faut.
qu'est ce que tu appelles client semi leger??
tu as une application web, t'envoie une requete POST avec JSF, tu l'utilises déjà, pourquoi tu ne le fais pas en java.?
hein ?
mon client semi léger : à la place d'un navigateur web standard, j'ai une application java la plus générique possible qui affiche une ihm en fonction d'un arbre xml qui décrit l'ihm
après je comprend pas ta seconde phrase, désolé, je suis tout nouveau dans le monde J2EE
Salut,
Oui, utiliser JSF ressemble à utiliser le marteau pour ....
Tu pourrais utiliser un truc comme JAX-RS par exemple ?
si tu n'a pas de navigateur, comment fais les c:forEach? c'est deux applications séparés?
pourquoi tu ne fais pas le traitement en java, dans le managed bean
je comprend pas ta remarque sur le c:forEach, c'est côté serveur que çà boucle non ?
voici un exemple d'une page qui génère une page ihm xml :
On vois bien que çà génère du xml (ici le contenu d'un jpanel) en fonction de ce que contient le propriété trajets de mon bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?xml version="1.0" encoding="UTF-8"?><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@page contentType="text/xml" pageEncoding="UTF-8"%> <includeContent id="CONTENT"> <scrollpane constraints="BorderLayout.CENTER"> <panel layout="GridBagLayout"> <label text="WEB"> <gridbagconstraints insets="2,2,2,2" gridx="1" gridy="0" ipadx="15" weightx="1" weighty="1"/> </label> <label text="WEB mobile"> <gridbagconstraints insets="2,2,2,2" gridx="2" gridy="0" ipadx="15" weightx="1" weighty="1"/> </label> <label text="GPS"> <gridbagconstraints insets="2,2,2,2" gridx="3" gridy="0" ipadx="15" weightx="1" weighty="1"/> </label> <c:forEach var="equipement" items="${equipements.trajets}" varStatus="status"> <textfield id="TF_${equipement.id}" columns="20" editable="false" enable="false" Text="${equipement.nom}"> <gridbagconstraints insets="2,2,2,2" gridx="0" gridy="${status.count}" ipadx="15" weightx="1" weighty="1"/> </textfield> <checkbox id="CH_WEB_${equipement.id}" selected="${equipement.exportWebTr}"> <gridbagconstraints insets="2,2,2,2" gridx="1" gridy="${status.count}" ipadx="15" weightx="1" weighty="1"/> </checkbox> <checkbox id="CH_PDA_${equipement.id}" selected="${equipement.exportPdaTr}"> <gridbagconstraints insets="2,2,2,2" gridx="2" gridy="${status.count}" ipadx="15" weightx="1" weighty="1"/> </checkbox> <checkbox id="CH_GPS_${equipement.id}" selected="${equipement.exportGpsTr}"> <gridbagconstraints insets="2,2,2,2" gridx="3" gridy="${status.count}" ipadx="15" weightx="1" weighty="1"/> </checkbox> </c:forEach> </panel> </scrollpane> </includeContent>
Bon, merci beaucoup djo.mos, j'ai du recoder pas mal de chose, mais JAX-RS est beaucoup plus ce que je cherchais à faire !
niquel.
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