如何在JavaScript中显示来自springboot控制器的值

时间:2019-01-16 17:33:50

标签: javascript java spring-boot model-view-controller

我有一个控制器,该控制器传递包装在模型中的json对象。

@RequestMapping("/template")
public String showTemplate(Model model) {       
    JSONObject obj = new JSONObject();
    obj.put("equipmentID", "30584D277D6D4568B17EBB8917D0CB15");
    model.addAttribute("template",obj);
    return "templates";
}

我想在我的JavaScript中使用这些值。我不能那样做。但是,我可以看到以HTML显示这些值。

<head>
<script>
    function test()
    {
    var temp = "${template}";
    alert(temp); // The values are not displayed here
    }
</script>

<body onload="test()">
    <span th:text="${template}"> </span> //I can display the values here        
<body>

我也研究了这个问题How to get spring mvc controller model key value inside javascript?,并尝试了带或不带引号的两个选项均未成功。

我也尝试过用HTML定义:

        <input type="hidden" id="templates" value='${template}'/>       

并在我的JavaScript中使用getElementById失败:

        var template = document.getElementById("templates");

1 个答案:

答案 0 :(得分:-1)

使用百里香内衬,您可以使用以下内容:

main

根据您的用例,还有其他访问服务器端变量的方法,请参阅http://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#javascript-inlining以获取更多信息。