Checking if a string contains a particular substring in Velocity

Victoria picture Victoria · Nov 5, 2012 · Viewed 30.7k times · Source

In Velocity I have a variable called $url which contains the following string: [ContentId(2.7507), ContentId(2.7508), ContentId(1.44551)]

I want to check if that string contains the substring 1.44551.

This is the code I've written so far, but for some reason it's returning False:

#if($url.contains("1.44551"))
<p>The article content id is 1.44551</p>
#else
<p>The article content id isn't 1.44551</p>
#end

I would expect this to be returning True, as the 1.44551 substring is present in the $url variable. Please can someone tell me where I'm going wrong?

Answer

user7294900 picture user7294900 · Oct 15, 2017

Velocity holds values as Objects in context map.

If you want to execute String method, add toString to make sure you execute on String the contains method:

 #if($url.toString().contains("1.44551"))
<p>The article content id is 1.44551</p>
#else
<p>The article content id isn't 1.44551</p>
#end