Javascript code to apache velocity

Javascript code to apache velocity

本文关键字:velocity apache to code Javascript      更新时间:2023-09-26

我是速度的初学者,但我真的很想学习。我做了一个页面,里面有各种产品,就像在电子商务网站一样。

我想通过复选框将选定的产品添加到数组中,并做了这个javascript代码。

var test = [];
$(":checkbox").change(function(){
  if((this).checked){
    test.push(this.id);
  }
  else{
    test.splice(test.indexOf(this.id), 1);
  }    
});

现在我想尝试转换此代码,以便它可以在速度中使用。到目前为止,我只能像这样以速度设置数组:

#set ($test = [] )

我有一个模糊的想法,您可以像这样快速将项目添加到数组中:

#set ( $sample = $test.add("sample") )

但我不知道如何做复选框的事情

有没有办法在速度中做到这一点?或者至少有一种方法可以使用这段代码。

你不能将 JavaScript 代码完全转移到 Velocity。至少如果您期望页面具有相同的行为,则不会。

这是因为您的 Velocity 模板是服务器端渲染的,您只会得到 HTML(当然包括脚本)。这意味着,当您看到页面时,没有速度功能可以在您单击复选框时做出反应。

因此,如果您想坚持使用 Velocity,您可以在使用常用方法提交页面后在进一步的请求中评估复选框,并更改任何支持对象。

如果您需要此页面在点击时立即做出反应,则必须在客户端完成,因此您必须将 JavaScript 代码保留在页面中。在这里,您可以决定是让 JavaScript 完成所有工作,还是发出异步请求并仅重新加载页面的一部分。