在thymeleaf模板中对象到JSON序列化

Bah*_*ğan 2 spring-mvc thymeleaf

在百万富翁中是否有办法从上下文输出对象的json.我可以在控制器内部进行,但不是真的想要.

控制器:

@RequestMapping("/{projectId}/edit")
public String editProject(Model model, @PathVariable Long projectId) {
    Project project = projectRepo.findOne(projectId);
    // Below line works, but I want to put the object to the model
    // model.addAttribute("project", new ObjectMapper().writeValueAsString(project));
    model.addAttribute("project", project);
    return "project/edit";
}
Run Code Online (Sandbox Code Playgroud)

部分模板:

<script>
    var app = new Vue({
        el: '#app',
        data: {
            project: [(${project})]
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

Met*_*ids 10

Thymeleaf开箱即用,我想你只需要添加th:inline="javascript".

http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#script-inlining-javascript-and-dart

<script th:inline="javascript">
    var app = new Vue({
        el: '#app',
        data: {
            project: /*[[${project}]]*/ {}
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

  • 这不是JSON.这是Javascript.当发送JSON(`<script type ="application/json"th:inline ="javascript">`)时,Thymeleaf将在单引号之间包装名称和值,其中来自客户端的`JSON.parse`方法需要双引号. (2认同)