Bonjour,
Je débute en Struts et pour me faire la main je fais une petite application qui suivant deux paramètres de recherche m'affiche une liste y correpondant.
L'utilisateur selectionne l'enregistrement désiré via un bouton radio et le submit via un bouton ou alors revient à la page d'acceuil (Index.jsp) via un bouton "back".
Si l'utilisateur clique sur le bouton après son choix je renvois 2 paramètres (facultatifs).
le premier : un id du message.
le deuxieme : un id de la procedure.
et avec ses deux paramètres je réaffiche le record choisis dans une autres pages jsp.
En réalité c'est la combinaison des deux paramètres qui fait office d'identifiant.

Mon problème est que mon application me revoit bien le bon message Id mais me donne le mauvais procedureId et je ne comprends pas pq. Pourriez vous m'aidez svp.

voici le code de ma liste de départ après l'introduction des deux paamètres optionnels.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ page language="java" import="ressource.FormulaireBean,ressource.DataListing" %>
 
<html>
	<head>
		<title>Resultat de la recherche</title>
	</head>
	<body>
	<center>
	<h2><u><b>Details</b></u></h2>
	<html:form name="formRech" method="post" action="/Resultat.do" type="ressource.FormulaireBean">
		<table>
			<tbody>
			<tr>
				<th><u>Message ID</u></th>
				<th><u>Procedure Number</u></th>
				<th><u>TimeStamp</u></th>
				<th><u>Status</u></th>
				<th><u>Choix</u></th>
			</tr>
			<logic:iterate id="listing" name="formRech" property="dataListing">
			<tr>
				<td><bean:write name="listing" property="messageId"/></td>
				<td><bean:write name="listing" property="procedureId"/></td>
				<bean:define id="valeurprocid" name="listing" property ="procedureId"/>
				<td><bean:write name="listing" property="timeStamp"/></td>
				<td><bean:write name="listing" property="status"/></td>
				<td><html:radio idName="listing" property="messageId" value="messageId"/></td>
				<td><html:hidden name="listing" value="<%=String.valueOf(valeurprocid)%>" property="procedureId"/></td>
			</tr>
			</logic:iterate>
			</tbody>
		</table>
		<html:submit value="Visualiser"/>
	</html:form>			
	<form action="index.jsp">
		<input type="submit" value="Back">
	</form>
	</center>
	</body>
</html>
et voici ma classe Action.

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
 
public class FormulaireActionDetails extends Action 
{
	public ActionForward execute(ActionMapping mapping, ActionForm form, 
								 HttpServletRequest request, HttpServletResponse response)
	{
		FormulaireBean formulaire = (FormulaireBean)form;
 
		String messageId = formulaire.getMessageId();
		String procedureId = formulaire.getBtnRadChoixProc();
		System.out.println("\nmessageid dans formulaireActionDetails : "+messageId);
		System.out.println("procedureid dans formulaireActionDetails : "+procedureId);
		DataListing dl = new DataListing();
		if(DataListing.DATALIST.size() == 0)
		{	
			dl.createDataList();
		}
		List dynamicDataListing = new ArrayList();
		dynamicDataListing = dl.getList(messageId,procedureId);
 
		formulaire.setDataListing(dynamicDataListing);
 
		return mapping.findForward("Resultat");
	}
}
Voila et a chaque fois il me renvoint le 1er procedureId De la liste et il se fout pas mal de mon choix.
Dernière chose j'ai vérifier mes méthode get/set et ma config et tout est la comme dans le tuto struts mais je comprends pas d'ou vient le bleme