Bonjour,

Je suis confronté à un petit problème avec un de mes formulaires sous strut.

Je m'explique ^^, nous avons mis en place une page qui effectue diverses opérations qui à la fin génère un tableau de string en javascript.

J'aimerai que ce tableau soit envoyé à mon serveur par le biais d'un dynaform.

Voila le formulaire en jsp :

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
 
 <html:form action="/uploadMapping" enctype="multipart/form-data">
 
                <span><bean:message key="create.labelName"/></span>
 
                <html:text property="name" /><br/>
                <html:text property="mapping" value="" /><br/>
 
                <html:hidden property="sep_mapping" value="" />
 
 
                <html:submit property="submit" onclick="javascript: getMapping();">
                    <bean:message key="create.buttonRecord"/>
                </html:submit>
 
            </html:form>

Je renseigne mais champs par le biais d'une petite fonction javascript :

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
<script type="text/javascript">
//    Petite fonction qui recupère le mapping et le met dans un champ caché
    function getMapping(){        
 
        var mapping = document.getElementsByName("mapping")[0];
        var sep_mapping = document.getElementsByName("sep_mapping")[0];
 
        var value = enregistrement()
 
        sep_mapping.value = value[0];
        mapping.value = value[1];
 
 
    }
</script>
Ensuite mon fichier struts-config.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 
  <form-bean name="uploadMapping" type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="name" type="java.lang.String" />
            <form-property name="mapping" type="java.lang.String[]"  />
            <!--sépérateur du mapping-->
            <form-property name="sep_mapping" type="java.lang.String[]" />
        </form-bean>
et je récupère la valeur de cette manière.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
String[] map = (String[]) uploadForm.get("mapping");
Cependant en testant cette valeur coté serveur il se trouve que tout le tableau se trouve à l'indice 0.


Je ne vois plus comment faire pour que ça fonctionne , avez vous des pistes ?

Merci d'avance