The Now Platform® Washington DC release is live. Watch now!
Now that you're expert on Jelly's two phases, and the differences between Jelly and JavaScript variables, you're probably thinking "Hey, my Jelly education is done! Where's my diploma?"
Well, not so fast, grape jelly breath. There's still a lot to learn!
First, a commenter asked an important question, which I managed to forget to address: "What's the whole point of the multi-phase Jelly system, anyway?" Answer: it's all about performance. There isn't any other reason for it. Because the phase 1 output is cached (in memory), there is potentially (exactly how much varies from page to page) quite a large amount of work that is done just once, instead of every time a page is requested.
Next, let's look at an example that illustrates a few things I want to talk about:
<?xml version="1.0" encoding="utf-8"?>
<j:jelly>
<g:evaluate>
var title = 'Users for ' + gs.getUser().getFirstName() + ' ' + gs.getUser().getLastName();
title;
</g:evaluate>
<g2:evaluate>
var users = new GlideRecord('sys_user');
users.query();
</g2:evaluate>
$[jvar_title]
<j2:while>
User: ${users.first_name} ${users.last_name}
</j2:while>
</j:jelly>
<g:evaluate>
var title = 'Users for ' + gs.getUser().getFirstName() + ' ' + gs.getUser().getLastName();
title;
</g:evaluate>
$[jvar_title]
<g:evaluate>
var title = 'Users for ' + gs.getUser().getFirstName() + ' ' + gs.getUser().getLastName();
title;
</g:evaluate>
$[jvar_title]
<g2:evaluate>
var users = new GlideRecord('sys_user');
users.query();
</g2:evaluate>
<j2:while>
User: ${users.first_name} ${users.last_name}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.