Bonjour à Tous !

Voila je poste car j'ai a faire à un custom tag personalisé pour une application qui doit me renvoyer le nom d'un utilisateur en fonction de son id. ce tag s'appelle <monappli:username> et possede un seul attribut qui est userId

Aujourd'hui ce tag fonctionnait avec ce tld :
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
 
<taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>monappli</shortname>
    <tag>
        <name>username</name>
       <tagclass>
              masociete.monappli.pl.customtag.MipsUserNameTag
        </tagclass>
        <bodycontent>JSP</bodycontent>
        <attribute>
            <name>userId</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
</taglib>
ce tag fonctionne aujourd'hui avec ce tld mais j'ai besoin pour un nouveau cas de pourvoir insérer dans la valeur de l'attribut userId un autre tag struts de type ...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
userId="<bean:write name="objet" property="user"/>"
...mais cela ne fonctionne plus.

J'ai alors entrepris de modifier le tld d'une part en passant l'attribut userId a false dans le but de pouvoir ecrire quelque chose comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<monappli:username> <bean:write name="objet" property="user"/> </monappli:username>
c'est à dire de transformer mon custom tag existant pour qu'il puisse avoir une valeur en body eval et qu'il puisse affecter celle ci à l'attribut userId.

un extrait de la methode java associé est le suivant :
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
 
public int doStartTag() throws JspException {
   String userName = null;
   if (userId != null && !userId.equals("")) {
	try{
	     userName = monsingleton.getUserName(userId);
	} catch (Exception e) {
	     userName = "";
	}
    } else {
	userName = "";
    }
 
    try {
        pageContext.getOut().print(userName != null ? userName : "Unknown");
   } catch (IOException e) {
	e.printStackTrace();
   }
 
   return EVAL_BODY_INCLUDE;
}
Quelqu'un a t-il déjà eut ce genre de problème ? quelqu'un peut t-il m'aider a resoudre ce point.

Pour être clair je suis cette piste car il y a qq temps j'avais eut un probleme similaire avec<tiles:put> et l'avais résolu en ecrivant sous ce modèle
<tiles:put><bean:write></tiles:put>
Ou comment font les tags struts natif pour réaliser cette opération ?

Merci de votre aide.