5

我有一些基本的 JavaScript 函数:

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

和 Freemarker 代码:

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

我的问题是:是否有可能,如果可以,如何从 freemarker 标签内部调用 someTestFunction() ?

4

1 回答 1

7

Freemarker 是一种 java 模板语言,这意味着它是在服务器上执行的。javascript 在客户端(用户的浏览器)上执行。您不能以这种方式从 java 服务器调用 javascript 函数。

您可以执行以下操作:

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

这意味着 javascript 将根据设置的服务器变量在客户端执行。

于 2012-07-04T11:08:13.923 回答