2010-04-06 4 views
1

J'essaie d'utiliser g: paginate dans un modèle partagé où, en fonction du contrôleur, les changements d'URL, par ex.Grails g: tag paginate et URL personnalisée

Pour ma url page d'accueil devrait être: mondomaine [DOT] com/nouvelles/recent/(1..n) Pour Page: www [DOT] mondomaine [DOT] com/recherche/recherche/"ipad apps "/ filtre/mois

et mon g: paginate ressemble à ceci:

g: contrôleur paginera = $ {customeController} action = $ {CustomAction} total: $ {total}

Pour le premier cas, j'ai été capable de fournir le contrôleur comme 'news' et l'action comme 'récent' et mappé url/news/recent/$ offset à mon contrôleur. Mais pour la page de recherche, je ne suis pas capable de réaliser ce que je veux faire. J'ai un mappage d'URL défini comme/search/$ filter ** (contrôleur: "search", action: "fetch") $ filter peut être/query/"applications ipad"/filter/thismonth/filter/something/filter/autre chose. Je veux être en mesure de montrer l'URL comme ci-dessus plutôt que ? Query = « apps ipad » & filtre = celuimois & filtre = quelque chose & filtre = somethingelse.

Je crois que je peux passer tous les paramètres dans l'attribut params de g: paginate mais ça ne me donnera pas une jolie URL.

Quel serait le meilleur moyen d'y parvenir? S'il vous plaît n'hésitez pas à poser des questions Si j'ai raté quelque chose.Merci à l'avance.

Répondre

0

Ok. compris cela. J'espère que cela aide quelqu'un.

Définissez $ {customAction} = '' et cette chaîne de requête 'filter/thismonth/filtre/quelquechose/filter/quelquechose' a été transmise avec l'attribut 'params'.

Remerciements