Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session
SOLVED

How can I use regular expressions for string matching in HTL

Avatar

Level 5

How can I match a string against a regular expression in HTL?

I would want to do one thing if it matches and another if it doesn't.

Alternatively, if HTL does not have that capability built in, is there a way that I can pass a string into a utility method to do that?

Thanks!

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Not with HTL but with Java(Sling Model).

Use HTL templates(not page template) to render HTML based on condition.



Arun Patidar

View solution in original post

6 Replies

Avatar

Level 10

If you use a Sling Models with your HTL - you can use Java to perform all REG EX functionality.

Avatar

Level 5

What if I don't have a sling model in the HTL where I need the reg ex functionality? For example in a template?

Avatar

Level 10

When you say Template - do you mean the component code?

Anyhow - if you want to perform this task in the HTL itself (I would recommend Java and Sling Models and use HTL as a view), - see:

htl-spec/SPECIFICATION.md at master · adobe/htl-spec · GitHub

Avatar

Community Advisor

Hi,

with HTL alone you can't do regex matching. You need to use JAVA i.e. Sling Model or WCMUsePojo.

and yes you can pass a parameter from HTL to Java. Please check below:

HTL introduction part 4

You can call sling model in template code as well.



Arun Patidar

Avatar

Level 5

I do mean in the component code (not in a page template).

Let me give you a use case. We have some templates that handle certain image display for various AEM models. These components should generate different markup depending on the type of image (for example, we want to lazy load PNGs but not JPGs).

Is this possible to do using HTL?

Avatar

Correct answer by
Community Advisor

Not with HTL but with Java(Sling Model).

Use HTL templates(not page template) to render HTML based on condition.



Arun Patidar