代码之家  ›  专栏  ›  技术社区  ›  robert trudel

无法显示对象的地图

  •  0
  • robert trudel  · 技术社区  · 7 年前

    我试着显示一个物体的某个区域

    private Integer id;
    private String enumName;
    private Map<String, String> fields = new HashMap<>();
    ...
    

    List<EnumTypesDto> enumTypes = enumTypesService.getAllEnumTypes();
    model.addAttribute("enumTypes", enumTypes);
    

    在我的模板中

    <p th:each="entry: ${enumTypes.fields}">
        <span th:text="'Key: ' + ${entry.key} + ', Value: ' + ${entry.value}"></span>
    </p>
    

    EL1008E: Property or field 'fields' cannot be found on object of type 'java.util.ArrayList' - maybe not public?
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Szymon Stepniak    7 年前

    仔细检查模板。 enumTypes 是一个列表 EnumTypesDto fields 您已在内部定义

    <div th:each="type: ${enumTypes}">
        <h2 th:text="${type.enumName}">
    
        <p th:each="entry: ${type.fields}">
            <span th:text="'Key: ' + ${entry.key} + ', Value: ' + ${entry.value}"></span>
        </p>
    </div>
    

    在上面的例子中,我们首先迭代所有 枚举类型到 对象和我们迭代的每个对象 领域