【问题标题】:JavaScript - Save ArrayList to variable in format mannerJavaScript - 以格式方式将 ArrayList 保存到变量
【发布时间】:2016-02-20 17:38:03
【问题描述】:

我正在尝试创建一个包含三个日期的数组列表。然后我想以格式化的方式将数组列表保存到变量中。但是,当我尝试 document.write 变量时,元素完全不同。

<script>
<% List<String> strList = new ArrayList<String>();
strList.add("23-2-2016");
strList.add("24-2-2016");
strList.add("25-2-2016"); %>


var unavailableDates = [<% for (int i = 0; i < strList.size(); i++) { %><%= strList.get(i) %><%= i + 1 < strList.size() ? ",":"" %><% } %>];

document.write(unavailableDates);
</script>

我想要的结果是“23-2-2016”、“24-2-2016”、“25-2-2016”。

但是,我得到这个显示:-1995,-1994,-1993

【问题讨论】:

  • @NinaScholz OP 正在从 JSP 生成 javascript,日期被 bing 评估为表达式。

标签: javascript java arraylist


【解决方案1】:

在打印 javascript 时需要使用字符串字面量,否则您的日期将被视为算术表达式 (23 - 2 - 2016 = -1995)。

var unavailableDates = [
    <% for (int i = 0; i < strList.size(); i++) { %>
        '<%= strList.get(i) %>'
    //  ^                     ^
        <%= i + 1 < strList.size() ? ",":"" %>
    <% } %>
];

【讨论】:

  • 我之前尝试过这个,但是在两个 ' ' 之间的所有内容都出现错误。错误 = 令牌“'$tag_________________$tag__________________________________$tag_'”的语法错误,删除此令牌
  • 另一个错误。 “标记的语法错误,删除这些标记。”它指向每一个引号。
  • @abcdefg 是你的 IDE 吗?如果是你的 IDE,尝试执行 JSP 并查看输出,例如 eclipse 的 JSP 编辑器很垃圾,到处都看到错误
  • 哈哈哈。你是对的。我正在使用 Eclipse,但是当我运行时,它会显示。但是,我可以以某种方式在每个日期之间添加双引号。例如。 “2016 年 2 月 23 日”,...
  • @abcdefg 绝对!把单引号改成双引号就行了!
猜你喜欢
  • 2015-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 2020-07-21
  • 2019-04-16
  • 2016-02-15
相关资源
最近更新 更多