掲示板

Debugging velocity template

11年前 に Balaji Chopparapu によって更新されました。

Debugging velocity template

New Member 投稿: 22 参加年月日: 10/10/08 最新の投稿
Hi,
How can I debug velocity template that is assigned to a structure and webcontent ? Till now I am printing all variables and doing debugging in a rude way. Can I use eclipse or any other IDE to debug velocity template?

Thanks in Advance,
Balaji
thumbnail
11年前 に James Falkner によって更新されました。

RE: Debugging velocity template

Liferay Legend 投稿: 1399 参加年月日: 10/09/17 最新の投稿
Balaji Chopparapu:
Hi,
How can I debug velocity template that is assigned to a structure and webcontent ? Till now I am printing all variables and doing debugging in a rude way. Can I use eclipse or any other IDE to debug velocity template?

Thanks in Advance,
Balaji


I do not know of any IDE that would let you, for example, set breakpoints in Velocity code and debug it - I've always used printing variables and such. One thing you may be interested in is how to emit debug information to the log file:

#set ($logFactory = $portal.getClass().forName('com.liferay.portal.kernel.log.LogFactoryUtil'))
#set ($log = $logFactory.getLog('mylog'))
$log.error($msgCount)
$log.error("Hi There")


If you find a better way, let me know!
thumbnail
11年前 に Hitoshi Ozawa によって更新されました。

RE: Debugging velocity template

Liferay Legend 投稿: 7942 参加年月日: 10/03/24 最新の投稿
I only know of Velocity Debugging Template and using logging.

http://wiki.apache.org/velocity/VelocityDebuggingTemplate
11年前 に Siby Mathew によって更新されました。

RE: Debugging velocity template

Expert 投稿: 268 参加年月日: 11/03/04 最新の投稿
Really useful information....Thanks for the code ! emoticon
thumbnail
11年前 に Michel Wicky によって更新されました。

RE: Debugging velocity template

Regular Member 投稿: 130 参加年月日: 10/07/03 最新の投稿
Hello Hitoshi, i tested the velocity debugging but was not able to obtain any result. I was testing it using LR 6.1 EE and putted the macro into VM_liferay.vm in portal-impl.jar.
I used the script without $context.

Here is the vm script i would like to debug with #showDebugPopup macro call :

#set ($isOkinawaLogged = $request.get("remote-user"))
#if ($isOkinawaLogged != '')
#set ($userFullName = $user.getFullName())
<h1>Bonjour $userFullName</h1>
<p>Félicitations ! Vous participez à l'action bénévole des associations suivantes :'</p>
<li>
#foreach ($my_site_text IN $my_sites_text )
<ul>($my_site_text.getName())</ul>
#end
</li>
#else
<div class="portlet-msg-alert">
<h1>Bonjour cher visiteur, chère visiteuse</h1>
<p>Vous ne participez pas encore à l'action bénévole des associations affiliées au projet Okinawa. Nous nous réjouissons de vous accueillir très prochainement et vous compter bientôt parmi nous.</p>
<p>Vous trouverez ici la liste des associations auxquelles vous aurez adhérées.</p>
</div>
#end
#showDebugPopup()

Do you see something wrong ?

Note i'm able to debug a little bit with org.apache.velocity setted to debug, but it's not really sufficient.

Thank youz

添付ファイル:

11年前 に Balaji Chopparapu によって更新されました。

RE: Debugging velocity template

New Member 投稿: 22 参加年月日: 10/10/08 最新の投稿
Thanks James. This is really useful hint.
thumbnail
7年前 に Fernando Fernandez によって更新されました。

RE: Debugging velocity template

Expert 投稿: 396 参加年月日: 07/08/22 最新の投稿
James Falkner:

#set ($logFactory = $portal.getClass().forName('com.liferay.portal.kernel.log.LogFactoryUtil'))
#set ($log = $logFactory.getLog('mylog'))
$log.error($msgCount)
$log.error("Hi There")



In 6.2 CE GA6 we get "Cannot retrieve method forName from object of class java.lang.Class due to security restrictions."

Any ideas?

Thanks

Fernando