1

liferay Velocity(vm)ファイルで現在のページのURLの内容とパラメータを見つけようとしています。この方法で現在のページの URL を取得できます。

URLをデコードしようとしました

 http://localhost:8080/web/guest/sign-in?p_p_id=45&p_p_lifecycle=0&_58_redirect=‌​%2Fgroup%2Femployee%2FmainForm%3FempName%3DABC

次の方法を使用して

#set($absoluteUrl= $theme_display.getURLCurrent())
#set ($test=$httpUtil.decodeURL($absoluteUrl)) 

今、私はURLを取得しています

/web/guest/sign-in?p_p_id=58&p_p_lifecycle=0&_58_redirect=/group/employee/mainForm?empName=ABC

今、私はempNameこの方法で値を取得しようとしています。

#set($empName= $request.getParameter("empName"))

しかし、まだ何も得られませんか?私は何が欠けていますか?このパラメータの値を取得するにはどうすればよいですか?

4

4 に答える 4

1

これにより、速度の部分文字列を確認できます。

#set ($url = $themeDisplay.getURLCurrent())

#if($url.contains("&empName=ABC"))
The url contains the string <b>&empName=ABC<b>
#else
The url does not contain the string <b>&empName=ABC</b>
#end

コンテンツを確認する前にリクエスト パラメータの存在を確認する場合は、次のようにします。

#set($empName = $request.getParameter("empName"))

#if (!$empName) 
<h1>Parameter not found</h1>
#else
<h1>Parameter found: $empName</h1>
#end`

Liferay 6.1.1 ce ga2 でテスト済み

于 2013-06-19T08:05:58.517 に答える
0

URLが次のようになっている場合:

 http://localhost:8080/web/guest/sign-in?p_p_id=45&p_p_lifecycle=0&_58_redirect=‌​%2Fgroup%2Femployee%2FmainForm%3FempName%3DABC

これで、この URL を次のようにデコードできます。

#set($url= $theme_display.getURLCurrent())
#set ($decodedUrl=$httpUtil.decodeURL($url)) 

だから私はURLを取得しています

/web/guest/sign-in?p_p_id=58&p_p_lifecycle=0&_58_redirect=/group/employee/mainForm?empName=ABC

これで、次の方法で empName の値を取得できます。

#set($empName=$decodedUrl.split("empName=").get(1)) 

したがって、 $empName=ABC の値を取得します

于 2013-06-27T14:59:29.477 に答える
0

現在の URL を比較:

if($portal.getCurrentURL($request) == "/home")

また

if($portal.getCurrentURL($request).indexOf("/demo-demo")>=0)

これにより、「demo-demo」で始まるすべての URL が返されます。

于 2015-04-22T09:31:06.060 に答える