【问题标题】:ES6 and struts 2 dollar signES6 和 struts 2 美元符号
【发布时间】:2018-04-23 18:05:01
【问题描述】:

我想问一下如何使用模板文字 es6 语法和 struts 美元变量符号

在 jsp 中,我有一个如下所示的脚本:

 let formSelector = "form#saveForm div";
 let inputPrefix = `<input type='hidden' name='compositeEx[${index}]'`;

 console.log(`index${index}`);

问题是,当我使用 console.log 时,我只得到 index 而没有索引值。

如果我这样做了

console.log(`index`+index);

它打印出我想要的值

我想知道 struts2 ${value} 的使用和 es6 模板文字功能是否存在冲突,是否有任何文档或将模板文字与 struts 一起使用的方法

【问题讨论】:

  • 生成的页面是什么样的?这会告诉你哪里出了问题。
  • 我实际上不想打印任何东西,我将这些值传递给 struts 操作,例如 $("form#saveForm div").append("");

标签: javascript ecmascript-6 struts2 template-literals


【解决方案1】:

好的,我试图避开美元符号,它成功了 我猜服务器上的 struts 渲染会呈现这个:

console.log(`index${index}`); 

到此(在jsp脚本标签上下文上调用js函数后可用索引)

console.log(`index`);

转义美元符号:

console.log(`index\${index}`);

渲染到这个

console.log(`index${index}`);

javascript可以使用的

【讨论】:

  • JSP 在发送到浏览器之前被渲染。 ${index} 将呈现为 JSP EL,因为它是有效的 JSP EL。
  • @Dave Newton 是的,它在 js 之前呈现,这就是为什么它让 ${index} 为空(在 jsp 内的 js 脚本标签中评估)
  • 是的,我知道——我既要确认您的诊断,又要重申了解实际请求流程很重要。对于实际发生的情况和原因,您似乎有些困惑。
  • 是的,我想我现在明白了,为什么我必须逃避美元符号
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 2018-03-22
  • 2016-03-10
  • 2010-12-14
相关资源
最近更新 更多