Bonjour,

Je cherche à coder une jsp qui présente des données issues d'une table unique mais qui présente un aspect pénible : les champs (qui représentent des indicateurs annuels) sont différenciés par le suffixe _YYYY (correspondant à l'année)

En gros, ma JSP est appelée une première fois avec un seul paramètre, l'ID de l'enregistrement dans la base. Elle comporte une liste déroulante dans laquelle l'utilisateur choisit l'année. Le form validé, la valeur du select est actualisée, la jsp est rechargée avec les 2 paramètres (l'Id et l'année, donc). Jusque là tout va bien.

Le souci, c'est qu'en fonction de cette année choisie, le nom du champ doit être une concaténation du nom de l'indicateur + l'année... et là c'est l'impasse. J'ai épluché le web, essayé plein de syntaxes (concaténation, fn:join apr_s préparation d'un array...) mais je n'arrive pas à mes fins.

Si je n'avais pas ce problème de nom de champ variable, je ferai simplement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<p>Indicateurlambda : ${record.nomduchamp}</p>
record étant l'enregistrement unique issu de la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<sql:query var="recordset" sql="SELECT * FROM latable WHERE id=CAST(? AS INT)">
	<sql:param>${record_id}</sql:param>
</sql:query>
...
<c:set scope="request" var="record" value="${recordset.rows[0]}" />
Evidemment, si je code en dur le nom complet du champ, plus de souci mais bon je garde espoir d'aboutir.

Merci pour vos lumières, et ne pas hésiter à me demander des précisions

Bill