2010-09-08 19 views
0

je suis maintenant en utilisant JSF à développer pour EJB3, il a été astuce lu comment changer l'URL amicale dans JSF http://balusc.blogspot.com/2007/11/friendly-urls-in-jsf.html mais je me demande comment puis-je obtenir le paramètre pour ma pagecontenu de la page vue dynamique JSF

par exemple si j'utiliser JSP j'ai exemple de code

if(("page").equals(request.getparameter("id")) 
{ 
     <jsp:include page="//sameple"// /> 
} 
else if(("page").equals(request.getparameter("user")) 
{ 
     <jsp:include page="//samepl"// /> 
} 

avec exemple de code je peux obtenir paramètre pour url: http://localhost:8080/index.jsp?page=id mais dans JSF ou URL conviviale comment puis-je paramètre avec l'URL http://localhost:8080/index.jsp/page/id

+0

Utilisez-vous JSF 2.0? Je ne suis pas sûr si je comprends bien votre question, voulez-vous avoir des URLs comme http: // localhost: 8080/index.jsp? Page = id? – amorfis

+0

oui j'ai utilisé JSF 2.0, je veux afficher l'URL friendly localhost: 8080/index/page/id <=== je peux le faire mais je ne sais pas comment obtenir l'exemple de paramètre si j'utilise JSP 2.1 avec url localhost: 8080/index. jsp? page = id je peux obtenir le paramètre de la page est id, mais quand j'utilise l'URL amicale telle que localhost: 8080/index.jsp/page/id << ===== comment puis-je obtenir le paramètre de la page ??? mon but est de basculer sous-vue dynamique exemple page/id <== show id, page/name <== afficher le nom. Comprenez-vous ma question? – Kency

+0

C'était un vieux article :) C'était au moins l'inspiration de l'auteur de PrettyFaces. Je dirais, allez-y avec PrettyFaces. – BalusC

Répondre

1

Jetez un coup d'œil au joli projet de visages (http://ocpsoft.com/prettyfaces/). Il fournit une réécriture d'URL pour JSF et servlet. Vous pouvez rendre les URL "jolies" comme vous le souhaitez, et mapper vos paramètres dans le format de chaîne de requête attendu par les viewParams JSF 2, ou les injecter directement dans vos beans gérés.

C'est une solution incroyablement flexible pour dire le moins.