2011-03-17 5 views
1

Je développe une application web en utilisant Struts1 comme framework web. Mon modèle url dans web.xml est:url réécrire dans Struts1

<servlet-mapping> 
<servlet-name>action</servlet-name> 
<url-pattern>*.do</url-pattern> 
</servlet-mapping> 

Je veux se débarrasser de .do modèle dans urls. Donc, si mon URL est

http://localhost:38330/MyProject/editFunction.do?function=1

je veux que ce soit comme http://localhost:38330/MyProject/editFunction/. Comment puis-je obtenir ce type de réécriture d'url? Merci pour toute aide

Répondre

1

Vous pouvez utiliser un filtre avant d'appeler les entretoises demandent processeur, et ce projet, il est très utile: http://www.tuckey.org/urlrewrite/

+0

Je connais ce projet. Je voudrais savoir si c'est standard? A-t-il des problèmes? –

0

Vous pouvez mapper votre <url-pattern> pour permettre le préfixe, comme

<servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>/action/*</url-pattern> 
</servlet-mapping> 

Ensuite, si vous faites (par exemple) http://localhost:38330/MyProject/action/editFunction/, votre action Struts sera appelée (si mappé correctement sur struts-config.xml).