Как вызвать функцию JavaScript из Freemarker?


У меня есть некоторые основные функции JavaScript:

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

И код Фримаркера:

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

Мой вопрос: возможно ли, и если да, то как вызвать someTestFunction() изнутри тегов freemarker?

1 2

1 ответ:

Freemarker-это язык шаблонов java, то есть он выполняется на сервере. javascript выполняется на клиенте (браузере пользователя). Вы не можете вызвать функцию javascript с сервера java таким образом.

Вы могли бы сделать что-то вроде:

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

Что означает, что javascript будет выполняться на стороне клиента в зависимости от того, какая переменная сервера установлена.