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 :
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
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>
...mais cela ne fonctionne plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part userId="<bean:write name="objet" property="user"/>"
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <monappli:username> <bean:write name="objet" property="user"/> </monappli:username>
un extrait de la methode java associé est le suivant :
Quelqu'un a t-il déjà eut ce genre de problème ? quelqu'un peut t-il m'aider a resoudre ce point.
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; }
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èleOu comment font les tags struts natif pour réaliser cette opération ?<tiles:put><bean:write></tiles:put>
Merci de votre aide.
Partager