2010-10-08 9 views
0

J'utilise Struts 1. J'ai une liste de magasins dans notre base de données. La table de magasin contient l'identifiant du magasin, le nom du magasin, le chemin d'accès à la boutique en ligne, l'adresse du magasin. Par exemple, "1; Store 1; the-wonderful-store; 52 Main St.",URL dynamiques w/Struts 1

Lorsqu'une requête arrive pour /store/the-wonderful-store.do, je veux saisir "the-wonderful -store "et interroge la base de données pour le magasin pour ce chemin. Rend maintenant la page avec ce résultat de requête.

La page utilise des carreaux pour son modèle. Comment puis-je faire cela avec Struts 1?

Et sinon, comme je l'avant avec cette Apache2, est-il sûr juste

RewriteEngine On 
RewriteRule /store/(.*) /store.do?path=$1 [NC,PT] 

Répondre

1

Utilisez URLRewrite filter. Il permettra aux utilisateurs d'envoyer des demandes comme/store/the-wonderful-store et le filtre de réécriture peut transmettre cela à votre action en passant les données nécessaires de l'URL à votre action comme showStore.do?name=the-wonderful-store

De cette façon, vous aurez toute la logique d'affichage des magasins dans une action et le filtre URLRewrite transmettra les demandes correspondantes comme vous le souhaitez.

Consultez leur documentation pour plus d'informations.

+1

+1 Filtre UrlRewrite est en quelque sorte le mod_rewrite pour le monde java. Vous pouvez aussi utiliser mod_rewrite pour apache. –