Example - Hello World
This example transforms a velocity template which renders a greeting text in various languages.Velocity template
<HTML> <BODY> Hello $world.name! <table> #foreach( $greeting in $greetings ) <tr> <td>$greeting.language</td> <td>$greeting.text</td> </tr> #end </table> </BODY> </HTML>
Generated Javascript
function helloworld(context) { var text = new StringCat(); text.push('<HTML><BODY>Hello '); text.push(context.world.name); text.push('<table>'); for (var i1=0; i1<context.greetings.length; i1++) { var greeting = context.greetings[i1]); text.push(' <tr> <td>'); text.push(greeting.language); text.push('</td><td>'); text.push(greeting.text); text.push('</td> <td>'); } text.push('</table></BODY></HTML>'); return text.toString(); }
Function call could look like this
var htmlstring = v2js_helloworld({ world: { name : 'WORLD' }, greetings: [ { language : 'English', text: 'Hi' }, { language : 'German', text: 'Hallo' }, { language : 'Swedish', text: 'Hey' }, { language : 'Spanish', text: 'Ola' } ] }); orderDiv.innerHTML = htmlstring;