10
votes

FREEMARKER - Obtenez l'URL actuelle

est-il possible d'obtenir l'URL de la page actuelle dans FTL?


0 commentaires

6 Réponses :


9
votes

Autant que je puisse dire, Freemarker est strictement un moteur de modèles - il produit simplement du texte et n'a aucun moyen de savoir où ce texte apparaîtra. Si vous souhaitez inclure l'URL de la page actuelle, vous devez soit transmettre ces données dans le modèle à partir du code Java hôte (recommandé) ou vous devez le détecter côté client d'utilisation à l'aide de JavaScript.


0 commentaires

3
votes

Tout comme un supplément: Si vous utilisez le Freemarkersservlet, une «demande» de hachage est transmise à chaque modèle qui doit avoir une clé de clé en fonction de la documentation ici .


0 commentaires

3
votes

Oui, c'est possible. Assurez-vous d'ajouter des "exposexpringmacrohelpers" pour votre résolution de vue dans votre contexte de l'application. xxx

puis appelez $ {springmacrorequestcontext.getrequesturi ()} dans votre modèle xxx


0 commentaires

6
votes

Je suis en cours d'exécution Spring 3.2.x et ExposesPringmacrohelPers par défaut sur True.

Selon Documentation de printemps P>

Définissez s'il faut exposer un requileContext pour une utilisation par macro de printemps Bibliothèque, sous le nom "SpringmacRoreQuestContext". La valeur par défaut est "vrai". p> blockQuote>

sur ma vue, je peux alors faire quelque chose comme p>

p>

<#if springMacroRequestContext.requestUri?contains("/login")>


2 commentaires

Si vous utilisez le ressort 4, vous pouvez configurer à l'aide de Freemarkerautoconfiguration


demandeuri: c'est Uri, pas l'URL (posée par OP)



-1
votes

Utilisez simplement cette ligne:

<#assign url = http.request.url />
${url}


0 commentaires

-1
votes
baseURL + ${currentSiteName}${state.currentURI}

0 commentaires