在 FTL 中向我的模型发送一个 javascript 变量

Send a javascript var to my model in FTL

我有一个复选框列表,使用这个函数我得到了我的选中项目数组:

 var selected = new Array(); 
 $('#bloqCountries input:checked').each(function() { selected.push($(this).val()); });

我有一个模型 class,我需要通过参数发送这个数组,制作如下内容:

 [#assign searchResults =model.searchContent(selected) /]

但是Javascript在客户端,Freemarker在服务器端...

然后我不知道如何在我的模型中获取这个数组来调用我的 modelClass..

我的想法是根据要求,将数组转换为字符串,并在java中创建一个split()方法来删除单词之间的“-”

我不知道如何发送此内容,因为我没有使用 ajax,而且我认为没有必要。

简而言之,您不能那样做。 FTL 模板在服务器上只执行一次,生成 HTML 并将其发送到浏览器。 JS只有在浏览器接收并处理said HTML时才会执行。到那个时候,FTL进程早就死了。

如果您想与服务器通信,ajax 是唯一的方法。您可能会在 here or here.

找到一些使用 ajax w/ Magnolia 的灵感和示例

HTH,
一月