Bonjour,
Voici le décor :
J'ai un BeanA qui a pour attributs une String et une List<BeanB>.
Le BeanB a pour attributs deux String.
Dans ma JSP, je récupère une liste de plusieurs beanA.
Je ne dois utiliser que les tag suivants :
Voici le beanA :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <%@ taglib uri = "/WEB-INF/taglib/struts-bean.tld" prefix = "bean"%> <%@ taglib uri = "/WEB-INF/taglib/struts-html.tld" prefix = "html"%> <%@ taglib uri = "/WEB-INF/taglib/struts-logic.tld" prefix = "logic"%>
Voici le BeanB :
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 public class BeanA { //ATTRIBUTS private final String code; private final List<BeanB> beanBList; //CONSTRUCTOR public BeanA(){this(null, null);} public BeanA(String code, List<BeanB> beanBList) { this.code = code; this.beanBList = beanBList; } //ACCESSORS public String getCode() {return code;} public List<BeanB> getBeanBList() {return beanBList;} }
Voici le code de ma JSP, il n'est pas fini car je n'arrive pas à récupérer les attributs du BeanB :
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 public class BeanB { //ATTRIBUTES private String att1; private String att2; //CONSTRUCTORS public BeanB(){this(null, null);} public BeanB(String att1, String att2) { super(); this.att1 = att1; this.att2 = att2; } //ACCESSORS public String getAtt1() {return att1;} public String getAtt2() {return att2;} }
Ce que je souhaite faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <script language="javascript"> var conf = { <logic:iterate id="option" name="beanAList"> '<bean:write name="option" property="code"/>' : { conf : <bean:write name="option" property="beanBList"/>}, </logic:iterate> }; </script>
Dans ma JSP, je souhaite construire une config qui devra avoir cette forme pour ensuite l'exploiter dans un javascript :
Ci-dessous, les méthodes get donneront bien sûr directement l'attribut souhaité ... de même, BeanA.getCode() donnera lui aussi l'attribut code souhaité. Disons que c'est struts qui s'occupe de cela ...
Pour l'instant, j'arrive à récupérer les BeanB mais pas leurs attributs ... du coup j'obtiens ce résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 { {'BeanA.getCode' : { conf : BeanB.getAtt1(), BeanB.getAtt2(), BeanB.getAtt1(), BeanB.getAtt2(), BeanB.getAtt1(), BeanB.getAtt2()}, 'BeanA.getCode' : { conf : BeanB.getAtt1(), BeanB.getAtt2(), BeanB.getAtt1(), BeanB.getAtt2(), BeanB.getAtt1(), BeanB.getAtt2()}, ... etc };
Si quelqu'un veux bien m'aider !?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 { 'BeanA.getCode' : { conf : [package.BeanB@e8e70f0, package.BeanB@2998a407, package.BeanB@6438dce6, package.BeanB@512eb371, package.BeanB@5106e95a, package.BeanB@1cc23d45, package.BeanB@14448bc3]}, 'BeanA.getCode' : { conf : [package.BeanB@2033b99a, package.BeanB@23de3dfa, package.BeanB@53b6fa7b, package.BeanB@11f6cc2d, package.BeanB@61d6a791, package.BeanB@539352c5, package.BeanB@6d1f2e60]}, ...etc };
Merci,
Partager