Spring MVC: problèmes d’URL relatifs

J’ai un contrôleur lié à l’URL: “/ ruleManagement”.

Dans mon JSP, j’ai un formulaire qui transfère (lors de l’envoi) à l’URL “ruleManagement / save”. Quand il y a des erreurs avec les champs de saisie, je veux qu’il renvoie la vue du formulaire d’origine. C’est là où commence le problème…

Problème 1) Maintenant que l’URL est “/ ruleManagement / save”, mon formulaire de soumission pointe maintenant vers “/ ruleManagement / ruleManagement / save”.

Problème 2) J’ai essayé d’utiliser la balise spring: url pour générer les chemins absolus qui fonctionnent généralement très bien. Mais lorsque je mets une balise spring: url à l’intérieur d’une balise, la balise spring: url n’est pas analysée correctement.

<form:form action="" method="post"> 

Lorsque j’parsing le DOM après le chargement de la page, ma balise de formulaire ressemble à ceci:

 <form action='' ... > 

Si je n’utilise pas la balise spring: url, mais simplement “/ ruleManagement / save”, l’URL générée exclut le nom de mon application dans l’URL, qui est également incorrect.

Comment générer un modèle d’URL cohérent dans toutes les vues, quel que soit le chemin d’access? Si la réponse est “using spring: url”, comment puis-je obtenir ce contenu dans une balise form: form?

Les balises personnalisées dans JSP ne peuvent pas être utilisées dans les atsortingbuts d’autres balises personnalisées. Vous devez donc stocker le résultat intermédiaire dans un atsortingbut de requête (utiliser var pour redirect la sortie de la balise vers l’atsortingbut de requête est un idiome commun pris en charge par de nombreuses balises):

   

J’aimerais aussi pouvoir générer un chemin d’URL cohérent dans toutes les vues! Est-ce possible avec .

Pour répondre à votre deuxième question et à la réponse de axtavt, intégrez l’élément à l’action de formulaire après avoir ajouté la propriété htmlEscape="true"

Exemple: " method="post">