2010-10-13 7 views
0

Mon projet a changé la version de struts de struts-2.1.8.1 en struts-2.2.1. Nous n'utilisons pas le suffixe ".action" pour nommer, après la migration il est apparu. Pour plus code html version ressemble:struts 2.2.1 ajoute le suffixe ".action" au nom

<form id="Login" name="Login" action="/fm2/Login" method="post"> 

Mais de nouvelles entretoises rend la même forme:

<form id="Login" name="Login" action="/fm2/Login.action" method="post" 

Alors que la différence .Action a été ajouté. Quel est le problème avec une nouvelle version?

Répondre

3

Ceci est l'extension par défaut (et devrait l'être aussi en 2.1.8.1).

Vous pouvez le modifier dans votre struts.xml:

<constant name="struts.action.extension" value="whatever" /> 
0

Cela n'a pas changé, autant que je sache. Assurez-vous de comprendre la différence entre les « jambes de force l'action » et le "action attribute of a HTML FORM" element

En règle générale, pour rendre une balise FORM dans Struts2 vous utiliseriez un (Struts2) form tag - son action attribut correspond au nom d'un Struts2 l'action, ce qui correspond à une URL sans le suffixe (par défaut '.action', mais vous pouvez le changer)

Ainsi, la balise Struts2

<s:form action="/fm2/Login"> 

produirait généralement la sortie HTML

<form action="/fm2/Login.action"> 
+0

Impossible de voir la logique. Deux versions différentes d'entretoises produisent un code HTML différent (!). Donc je ne mélange pas l'action et la forme du HTML, mais j'obtiens un effet secondaire avec un nouveau suffixe. – Dewfy

+0

"Deux versions différentes d'entretoises produisent un code HTML (!) Différent." Non, elles ne le font pas. Montrez-nous un exemple si vous avez trouvé le contraire. – leonbloy

+0

lire attentivement ma question. J'ai fourni l'exemple. La source du projet n'a pas été modifiée, seule la version des entretoises. – Dewfy

1

J'ai un problème similaire lors de la modification de struts-2.2.1 de struts-2.1.8.1. Struts-2.2.1 ajoutera automatiquement l'extension ".action" pour le résultat de redirectAction. C'est très ennuyeux.

0

J'ai supprimé le fichier struts2-convention-plugin-2.1.8.1 de mon fichier web-inf/lib et il a commencé à fonctionner correctement. Espérons que cela aide ... acclame ...