在JSP映射中使用javascript var作为键

时间:2019-01-22 01:24:30

标签: javascript spring-mvc jsp

我正在JSP文件中运行以下测试javascript代码:

$(document).ready(function() {
    var selection = $('#selectedMonth').val();
    console.log(selection);
    var tableHead = "<thead><tr><th> ${javaMap.get(selection)} </th></tr></thead>";
}

其中javaMapmodelandview.addObject("javaMap", map);从控制器传递到JSP。

我遇到的问题是: 我运行以下代码,它可以正常工作并显示正确的结果:

var tableHead = "<thead><tr><th> ${javaMap.get("Jan-2019")} </th></tr> </thead>

但是当我运行上面的那一个根本不起作用。我尝试在var上执行console.log,日志中显示的值与Jan-2019

相同

任何想法,为什么map.get()使用硬编码的字符串但不能使用javascript var

1 个答案:

答案 0 :(得分:0)

Javascript是一项前端技术。这意味着您编写的JS代码将由浏览器执行。

但是,JSP代码是在服务器端执行的。

这是您的代码的问题:JSP首先在服务器上执行->然后在浏览器中执行js。因此,您永远不会获得所需的输出。

在JSP尝试评估以下EL表达式后设置“选择”。

考虑使用JSP标记库(JSTL)从JSP本身获取全部数据。

如果您需要根据前端/用户输入来处理数据,则可以使用ajax调用。