Question

Je travaille sur un formulaire avec un tas de critères de sélection qui généreront un rapport lorsque le formulaire sera soumis.J'ai également un certain nombre de rapports différents qui peuvent être générés à partir de ces mêmes critères et je souhaite que le type de rapport soit sélectionnable à l'aide d'un système d'onglets où chaque onglet cliqué soumet le formulaire et génère le rapport correct.Je devais le faire en passant un paramètre supplémentaire dans le formulaire pour passer au bon type de formulaire

Je suis nouveau sur Spring et, sous les conseils d'un ancien, on m'a dit d'utiliser un bouton de saisie pour chaque onglet avec la syntaxe approximative suivante :

<input type="submit" name="${form.selectionValues.tabSelection}" value="1" />

La propriété du formulaire tabSelection de l’objet SelectionValues ​​n’est pas définie.Je n'ai pas été surpris ;) Je ne pensais pas que cela fonctionnerait.

Je me demande donc comment puis-je soumettre une publication à partir d'un bouton au printemps contenant les valeurs du formulaire ainsi qu'un paramètre et une valeur tabSelection supplémentaires ?Comment dois-je baliser ce mécanisme ?Dois-je faire quelque chose au contrôleur de formulaire pour enregistrer ce paramètre supplémentaire ?

Le balisage d'origine que j'utilisais pour créer cette page utilisait des balises d'ancrage HTML au lieu de boutons pour les liens d'onglets, ce qui serait bien mieux pour le CSS. Existe-t-il un moyen de déclencher une soumission de formulaire complet à l'aide d'une ancre href ?Je sais que ce sera une requête GET au lieu d'un POST, et non associée au formulaire.donc je ne m'attends pas à ce que cela fonctionne..j'essaie juste de trouver des solutions !Je préférerais utiliser le balisage priginal, car les styles sont là.

Toute aide serait appréciée

Était-ce utile?

La solution

si la balise Spring Form est utilisée comme ceci, un exemple fonctionne comme suit :

<form:form commandName="someCommand">
    ...
    <input type="submit" name="${someCommand.selectionValues.tabSelection}" value="1"/> 
</form:form>

${} n'est pas un champ de liaison, vous devez donc utiliser l'objet de commande comme un objet de modèle standard.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top