【问题标题】:How do you access a model attribute (liste) in Jquery如何在 Jquery 中访问模型属性(列表)
【发布时间】:2017-11-11 09:13:04
【问题描述】:

如何从 Spring 模型中读取模型“列表”并将其设置为循环中的 jquery?我使用 Thymeleaf 作为模板引擎。

弹簧端:rdv.java

@RequestMapping(value = "/RdvListe", method = RequestMethod.GET)
public String RdvListe(Model model) {

    List<Rdv> listRdv=rdvMetierImp.listRdv();

    model.addAttribute("listRdv",listRdv);

    return "RdvListe";
}

客户端:script.js

$(function () {
    var events = [
        {
            title: 'Rdv with adam',
            start: '2017-06-09'
        }
    ];
});

结果是这样的:

$(function () {
    $.each(listRdv, function (key, value) {
        var events = [
            {
                title: value.title,
                start: value.date'
            }
        ];
    });
});

【问题讨论】:

    标签: javascript jquery spring spring-boot thymeleaf


    【解决方案1】:

    你可以在官方Thymeleaf中找到documentation

    <script th:inline="javascript">
    /*<![CDATA[*/
    ...
    
    var listRdv= [[${listRdv}]];
    
    ...
    /*]]>*/
    

    【讨论】:

    • 你不想要什么?
    • 在 javascript 中获得它后,您可以循环浏览它
    【解决方案2】:

    在 HTML 页面中编写以下脚本

    <script th:inline="javascript">
    var listRdv= [[${listRdv}]];
    </script>
    

    在 script.js 文件中使用 listRdv 变量

    var events=[];
    
    $.each(listRdv, function(index,value){
    
      var event={
              title: value.title,
              start: value.date'
                };
      events.push(event);
    
    })
    

    【讨论】:

      【解决方案3】:

      作为一个选项,您可以使用从 Java 对象到 JSON 的转换器。如Jackson

      那么你的代码可以如下:

      ObjectMapper mapper = new ObjectMapper();
      String jsonInString = mapper.writeValueAsString(listRdv);
      model.addAttribute("listRvd", jsonInString);
      

      然后在您的 thymeleaf 模板中,您可以将此 JSON 对象分配为 javascript 变量。

      虽然这不是您可以尝试的最佳做法。

      【讨论】:

        猜你喜欢
        • 2015-08-04
        • 1970-01-01
        • 2012-03-10
        • 2011-11-19
        • 2012-09-09
        • 2020-05-27
        • 1970-01-01
        • 2014-02-16
        • 1970-01-01
        相关资源
        最近更新 更多