MethodArgumentTypeMismatchException для изображения при разборе списка объектов в html thymeleaf - PullRequest
0 голосов
/ 15 октября 2019

я получаю [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: не удалось преобразовать значение типа 'java.lang.String' в требуемый тип 'int';вложенное исключение: java.lang.NumberFormatException: для входной строки: "winecard.jpeg"]

Когда я анализирую список объектов из контроллера, используя переменную пути к html-странице, используя тимелеф, я получаю все проанализированные объектыправильно, за исключением файла изображения, который по какой-то причине дает вышеупомянутое предупреждение.

Я новичок во всем этом, так что извините, если я звучу как полный дурак.

Вот контроллер:

@RequestMapping("/view/{id}")
public String showItem(@PathVariable("id") int id, Model model) {
    model.addAttribute("artikler", artikelService.addTemp(id));

    return "view";
}

@PostMapping("/view")
public String view(Model model) {


    model.addAttribute(artikelService.changerTemp());

    return "redirect:/";
}

А вот HTML-код для отображения элемента списка:

<div class="flexDivHor">

<tr th:each="artikel : ${artikler}">

    <div class="flexDivCol">


        <td> <h1 th:text="${artikel.getHeading()}"> </h1></td>
        <td th:text="${artikel.getDato()}"> </td>
        <td> <img width="600" height="400" th:src="${artikel.getImg()}"/></span></td>
        <td> <p th:text="${artikel.getPargagraf1()}"> </p></td>
        <td> <p th:text="${artikel.getParagraf2()}"></p></td>
        <td> <p th:text="${artikel.getAuthor()}"></p></td>

    </div>

</tr>

Этосервисный метод, отвечающий за инициализацию массивов:

public void generate(){
    liste1.add(new Artikel(3, 140397, new File("IMG_20190614_163153.jpg"),
            "Sådan Stjæler du din nabos penge", "Vil du gerne i lommen på din nabo eller ven? eksperten faisal fortæller om hvordan han bruger programmering til at stjæle fra fremmede",
            "aHAHAHAAHAHAHAHA haha...", "idiot"));

    listeTemp.add(new Artikel());
}

И этот метод используется контроллером для объявления массива в модели (что и происходит, единственная проблема - изображение)

 @Override
public List<Artikel> addTemp(int id){
    listeTemp.set(0,liste1.get(id));

    return listeTemp;
}

Я действительно надеюсь, что кто-то может помочь ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...