Underscore.js templates use <%= %> for variable interpolation. Unfortunately that is also interpreted in a JSP (or GSP). Is there a way to use Underscore.js templates wit
@coderman's example was helpful, but, unfortunately, it doesn't work if you want to use newlines in your templates. For example:
<@
var numPages = 10;
if ( numPages > 1 ) {
@>
<@=numPages@>
<@}@>
The problem is that the regex for evaluate won't match across newlines as described here: JavaScript regex multiline flag doesn't work
So, the solution that worked for me is:
_.templateSettings = {
interpolate: /\<\@\=(.+?)\@\>/gim,
evaluate: /\<\@([\s\S]+?)\@\>/gim,
escape: /\<\@\-(.+?)\@\>/gim
};
NOTE: [\s\S] in the evaluate regexp. That's the key.