2017-08-28 3 views
0

Je travaille sur un fichier jsp contenant des cases à cocher. Mon jsp est lié à un formulaire (appelé SuiviTransfertForm), et ce formulaire a un attribut appelé checkboxUID, qui est un tableau contenant les identifiants de mes cases cochées.Struts- A propos des cases à cocher d'enregistrement lorsque vous suivez un lien

private String[] checkboxUID = {}; 

Cet attribut est mis en correspondance avec les cases de ma jsp comme ceci:

<html-el:multibox name="suiviTransfertForm" property="checkboxUID"/> 

Je voudrais suivre un lien sur cette jsp et obtenir le contenu de checkboxUID quand je suis sur la prochaine page.

Sur la page suivante, je suis en train de revenir ma forme comme ceci:

SuiviTransfertForm suiviTransfertForm = (SuiviTransfertForm) form; 

Le problème est que checkboxUID est rempli correctement si je reste sur la même page, mais toujours vide quand je change page. Je ne peux pas trouver un moyen d'y parvenir.

Un grand merci pour votre aide!

+0

La méthode consiste à supprimer une balise multibox et à la remplacer par quelque chose comme [this] (https://stackoverflow.com/a/42654697/573032). –

+0

Salut Roman, merci pour votre réponse. Pouvez-vous jeter un oeil à ma réponse ci-dessous? – tho24

+0

J'ai vu votre réponse n'est pas valide sur SO. Vous ne devriez pas répondre si vous n'avez pas résolu un problème. Quelle version d'entretoises utilisez-vous? Le lien ci-dessus utilise des balises Struts2, mais 'html-el: multibox' est une balise Struts1 qui ne peut pas être utilisée dans Struts2. Les cases à cocher vides résultent de la liste vide. Vous devez remplir la liste avant de l'afficher dans JSP. –

Répondre

0

Lorsque vous cliquez sur le lien, il n'est pas soumettre le formulaire. Par conséquent, vous ne pouvez pas obtenir de valeurs de form. Essayez d'envoyer par URL (chemin de script - bien que ce n'est pas une meilleure pratique)

var arrayValues = [12,34,54,67]; //Get the selected checkbox values when clicking link 
var QueryString = JSON.stringify(arrayValues); 
var a = document.getElementById('yourlinkId'); 
a.href = 'myLink?params='+QueryString; 

ou vous pouvez utiliser jQuery pour un code simple,

$('#yourlinkId').attr({"href" : '/myLink?params=' + arrayValues.join(',')}); 

Essayez et laissez-moi savoir si ça aide.

+0

Salut Vinoth, est QueryString a var? – tho24

+0

Ouais, juste stocké le tableau stringifié dans une variable. –

0

J'ai finalement résolu le problème en listant les cases cochées et en les mettant dans le formulaire après avoir cliqué sur mon lien.

Un grand merci pour votre aide les gars!