SP5RFD
SP5RFD

Reputation: 861

How to call JavaScript function from Freemarker?

I have some basic JavaScript function:

<script type="text/javascript">
    function someTestFunction(param1, param2) {
        //do something
    }
</script>

and Freemarker code:

<#if something==somethingElse>
    // call: someTestFunction(something, 123)
<#else>
    // call: someTestFunction(somethingElse, 345)
</#if>

my question is: Is it possible, and if so, how to call someTestFunction() from inside freemarker tags?

Upvotes: 5

Views: 27889

Answers (1)

Andy Ray
Andy Ray

Reputation: 32076

Freemarker is a java templating language, meaning it is executed on the server. javascript is executed on the client (user's browser). You cannot call a javascript function from the java server in this manner.

You could do something like:

<script>
<#if something==somethingElse>
    someTestFunction(something, 123);
<#else>
     someTestFunction(somethingElse, 345);
</#if>
</script>

which means the javascript wll be executed on the client side depending on what server variable is set.

Upvotes: 8

Related Questions