当前位置: 首页 > 知识库问答 >
问题:

显示对象和对象列表

井浩思
2023-03-14

我使用带thymeleaf 3的Spring靴

我试着展示一个豆子

在我的控制器里我有

public String getNewCarsTemplate(Model model) {
    model.addAttribute("cars", new Cars());
}       

在我的车里

@OneToOne
private Cities cities;  // field id and name

@OneToMany(mappedBy = "car")
private List<Locations> locations = new ArrayList<>();

在我的位置

private Integer id;

private String name;

@ManyToOne
private Suppliers supplier;

在我的胸腺碎片中

<form id="carsForm" action="#" th:action="@{/template/new/cars}" th:object="${cars}" th:method="post">
    ...
    <input type="hidden" th:field="*{cities.id}" > 
   <input id="carsCities" class="form-control js-typeahead" type="search" placeholder="Type partial value" th:field="*{cities.name}" autocomplete="off" >
    ...
    <table id="locationsTable" class="table table-striped table-hover responsive">
        <thead>
            <tr>
                <th th:text="#{name}">Name</th>
                <th></th>
            </tr>
        </thead>
        <tbody>
            <tr th:each="car, stat : ${cars}">
                <td> 
                    <input type="hidden" th:id="${'locationId-'+stat.index}"  th:field="*{car.locations[__${stat.index}__].id}" />
                    <input type="text" class="form-control" th:id="${'locationName-'+stat.index}" th:placeholder="#{name.placeholder}" placeholder="Name" th:field="*{car.locations[__${stat.index}__].name}" />
                </td>
                <td class="align-middle"> <i class="fas fa-trash-alt"></i></td>
            </tr>
        </tbody>
    </table>

</form>

当我试图显示这个片段时,我得到

org.attoparser。ParseException:异常评估SpringEL表达式:“cities.id”由:org.springframework.expression.spel引起。SpelEvaluationException:EL1008E:在“java.util”类型的对象上找不到属性或字段“id”。ArrayList’-可能不是公共的或无效的?

共有1个答案

庞旺
2023-03-14

你能试着用

<input type="hidden" th:field="*{cities.id}" > 

具有

<input type="hidden" th:field="*{cities?.id}" > 

如果这对你有效,请告诉我。“?”操作员将解决new Cars()对象中城市为空的问题

 类似资料:
  • id Number - 与显示相关联的唯一标识符。 rotationNumber -顺时针方向的屏幕旋转角度, 可选0,90,180,270。 scaleFactor Number - 输出设备的像素比例因子。 touchSupport String - 是否支持触摸,可选 available, unavailable, unknown. bounds Object Rectangle​ size

  • 在JS中,如果我将一个字符串记录到控制台,它是否没有正确显示? 后果 那么为什么显示的是[object],而不是值呢?它就像是在附加字符串的情况下更改类型?

  • 我将spring boot与thymeleaf结合使用,在页面中尝试显示表单及其嵌套对象。 我的对象工厂有 id 当我显示时 我的工厂有很多机器,但没有一台展出 任何想法?

  • 问题内容: 只是试图在视图中显示我通过ajax从控制器获取的数组,但它显示的是[object Object],[object Object]而不是array。请在下面检查我的js文件: 问题答案: 使用转换到。 试试这个: 我认为,这对您有帮助-

  • 问题内容: 这是我正在处理的代码: 我想在列表视图上显示它们。您有任何教程可以帮助我入门吗?我是Web服务的新手。谢谢。 问题答案: 列表视图中最受欢迎的教学作品之一,可能会帮助您: - 拉维的博客 解析json之后要执行的步骤: 您可以使用jackson库用一行代码来解析json。 (单击此链接以获取有关对象映射教程的更多信息)

  • 在上图实例中,可以通过ShowroomItem的引用或interface Vehicle的引用来引用myCar。相应地,客户端驱动程序/销售工程师将获得功能访问权。 我同意在实现阶段(例如Java),这里不需要类型标识,我们将把myCar当作自己使用的基类型(任一接口)的实例。 但在顺序图中(为了清楚起见),我无法指出myCar的驾驶员引用应该是Vehicle的,而SalesEngineer的引用