Geschwindigkeit (VM) Vorlage Anfrage Parameter: Erste GET-Variablen
Wie kann ich die GET-Variablen übergeben, die in der URI in eine VM-Vorlage?
Funktioniert nur, wenn das laden der widget URL:
$request.get("parameters").get("fav").get(0)
Ich bin auf der Suche nach einer ordentlichen Lösung, die mit freundliche URLs.
Hier ist mein Test-template:
<br><br><br>
#set($url = $request.attributes.CURRENT_URL)
<h2>url: $url</h2>
#set($favs = $url.split("fav="))
favs: $favs<br>
favs.size(): $favs.size() <br>
#if($favs.size() > 1)
#set($fav1 = $favs.get(1).split("&").get(0))
fav1: $fav1<br>
#else
No fav!
#end
#if($favs.size() > 2)
#set($fav2 = $favs.get(2).split("&").get(0))
fav2: $fav2<br>
#end
#set($favs2 = $httpUtil.getParameterMap($url, "fav"))
favs2: $favs2
<hr>
<h3>Fav?</h3>
<form method="get">
<input type="checkbox" name="fav" value="dave"/> Dave<br>
<input type="checkbox" name="fav" value="nate"/> Nate<br>
<input type="checkbox" name="fav" value="taylor"/> Taylor<br>
<input type="submit" value="Send"/>
</form>
<hr>
<div style="font-size: 9px;">request: $request</div>
InformationsquelleAutor Cees Timmerman | 2011-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere Möglichkeit wäre die Verwendung von $httpUtil, einem Liferay-utility-Klasse, die s injiziert, die in Velocity-templates. Auf diese Weise könnten Sie Folgendes tun:
Könnten Sie Folgendes tun, um eine Liste von Werten für einen bestimmten parameter:
#set($vals = $httpUtil.getParameterMap($url).foo)
Leider, das funktioniert auch nicht; es gibt eine string-Liste der Größe 1 statt 2.
Sorry ich habe einen Fehler gemacht.
getParameterMap
erwartet nur den query-string als parameter, nicht die ganze URL. So sollte es funktionieren, wenn Sie es so machen:$httpUtil.getParameterMap($httpUtil.getQueryString($url)).foo
Das funktioniert, vielen Dank!
InformationsquelleAutor p.mesotten
Ich konnte nicht finden, dass die vermeintliche Lösung in die schreckliche Dokumentation, also ich kam mit dieser:
InformationsquelleAutor Cees Timmerman
InformationsquelleAutor Green Lei