什么 java 对象会在 Thymeleaf 中给出类似的 javascript 数组?

What java Object would give a similar javascript array in Thymeleaf?

我正在从 thymeleaf 向 morris.js 加载数据。 morris.js中的数据如下图

data: [{
                    "period": "Jan",
                    "Users Registered": 16
                }, {
                    "period": "Feb",
                    "Users Registered": 54
                }]

如何从模型属性加载此数组?

<script type="text/javascript" th:inline="javascript">
        /*<![CDATA[*/

        var theList = [[${usersRegistered}]]

        /*]]>*/
</script>

这在 Thymeleaf 3 中对我有用。

Java 对象:

import com.fasterxml.jackson.annotation.JsonProperty;

public class RegisteredUserPeriod {
    private String period;
    @JsonProperty("Users Registered")
    private int usersRegistered;

    public RegisteredUserPeriod(String period, int usersRegistered) {
        this.period = period;
        this.usersRegistered = usersRegistered;
    }

    public String getPeriod() {
        return period;
    }

    public void setPeriod(String period) {
        this.period = period;
    }

    public int getUsersRegistered() {
        return usersRegistered;
    }

    public void setUsersRegistered(int usersRegistered) {
        this.usersRegistered = usersRegistered;
    }
}

控制器:

model.put("usersRegistered", Arrays.asList(
        new RegisteredUserPeriod("Jan", 16),
        new RegisteredUserPeriod("Feb", 54))
);

Html:

<script type="text/javascript" th:inline="javascript">
    /*<![CDATA[*/
    var theList = /*[[${usersRegistered}]]*/ [];
    /*]]>*/
</script>

示例输出:

<script type="text/javascript">
    /*<![CDATA[*/
    var theList = [{"period":"Jan","Users Registered":16},{"period":"Feb","Users Registered":54}];
    /*]]>*/
</script>