Пружина mvc с тимьяном и bootstrap. Не могу разрешить модель атрибута - PullRequest
0 голосов
/ 23 марта 2020

В браузере по адресу: "localhost: 8081 / transports" получаю информацию: список транспорта.

У меня проблема в столбце Fuel, есть целочисленное значение, данные FK для таблицы Fuel. Может ли кто-нибудь помочь мне просмотреть название топлива в таблице, теперь я получаю:

audi | 1 | 55 | 2020-01-01

Но я хочу получить:

audi | diesel | 55 | 2020-01-01

html часть таблицы шаблона:

<section id="transport">
    <div class="container-fluid">
        <div class="row">
            <div class="col">
                <div class="card">
                    <table class="table table-striped">
                        <thead class="thead-dark">
                        <tr>
                            <th>Name</th>
                            <th>Fuel</th>
                            <th>Tank capasity</th>
                            <th>Date</th>
                            <th style="width: 10%"></th>
                            <th style="width: 10%"></th>
                        </tr>
                        </thead>

                        <tbody>
                        <tr th:each="transport:${transports}">
                            <td th:text="${transport.transportName}">Golf-Variant-CL-1.8(5M)</td>
                            <td th:text="*{transport.fuelId}">Gasoline</td>
                            <td th:text="${transport.transportTankCapasity}">45</td>
                            <td th:date="${transport.transportDate}">2020-02-04</td>
                            <td class="text-right">
                                <a href="transport.html"
                                   th:href="@{|/transport/${transport.transportId}|}"
                                   class="btn-sm btn-outline-secondary"
                                   title="Edit transport"
                                   data-toggle="tooltip"
                                   data-placement="top">
                                    <i class="fa fa-pencil"></i>
                                    <span class="d-none d-md-inline">Edit</span>
                                </a>
                            </td>
                            <td class="text-left">
                                <span data-toggle="modal" data-target="#deleteDialog">
                                <a href="#"
                                   class="btn-sm btn-outline-secondary"
                                   title="Delete transport"
                                   data-toggle="tooltip"
                                   data-placement="top">
                                    <i class="fa fa-remove"></i>
                                    <span class="d-none d-md-inline">Delete</span>
                                </a>
                                </span>
                            </td>
                        </tr>                          
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</section>

MVC код контроллера:

/**
     *  Goto transports list page.
     * @param model model.
     * @return view name.
     */
    @GetMapping(value = "/transports")
    public String transports(Model model) {
        LOGGER.debug("transports()");
        model.addAttribute("transports", transportService.findAll());
        model.addAttribute("fuels", fuelService.findAll());
        return "transports";
    }

создать код базы данных:

drop table if exists transport;
drop table if exists fuel;

CREATE TABLE fuel (
  fuel_id   INTEGER NOT NULL AUTO_INCREMENT,
  fuel_name VARCHAR(30) NOT NULL,
  PRIMARY KEY (fuel_id)
);

CREATE TABLE transport (
  transport_id    INTEGER NOT NULL AUTO_INCREMENT,
  transport_name VARCHAR(30) NOT NULL,
  fuel_id   INTEGER NOT NULL,
  transport_tank_capasity INTEGER(3) NOT NULL DEFAULT 0,
  transport_date Date NOT NULL,
  PRIMARY KEY (transport_id),
  CONSTRAINT transport_to_fuel_fk
    FOREIGN KEY (fuel_id)
    REFERENCES fuel (fuel_id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
);

1 Ответ

0 голосов
/ 24 марта 2020

, чтобы вставить значение переменной в метод тимилиста, вам нужно использовать конструкцию __${someValue}__. Смотрите пример:

<td th:text="${fuels.get(__${transport.fuelId}__).getFuelName()}">Gasoline</td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...