Mengapa tidak dapat menampilkan gambar ke halaman web menggunakan thymleaf dan boot Spring?

Apa yang saya coba lakukan adalah menampilkan gambar yang diambil dari database Mysql ke halaman web menggunakan informasi kartu thymeleaf.

Tetapi alih-alih mendapatkan gambar di kartu dengan meneruskan url(http://localhost:8080/showapplication/v2) apa yang saya dapatkan di browser sebagai respons:-

masukkan deskripsi gambar di sini

Saya tidak tahu apa yang saya lakukan salah. Tolong bantu saya untuk mencapai hasil yang diinginkan.

Kelas pengontrol:-

@Controller
@RequestMapping("/showapplication")
public class ShowImageController {

    @Autowired
    private ImageRepository imageRepository;
    @Autowired
    private ImageService imageService;

    @GetMapping("/v2")
    public String ShowAllImages(Model model){
        List<ImageEntity> allImages=imageService.RetriveAllImages();
        model.addAttribute("listofimages",allImages);
        return "showimage";
    }
}

Kelas layanan:-

@Service
public class ImageService {

    @Autowired
    private ImageRepository imageRepository;

    public void uploadtodb(MultipartFile file){

        ImageEntity imageEntity=new ImageEntity();
        try {
            imageEntity.setImage(file.getBytes());
            imageEntity.setFiletype(file.getContentType());
            imageEntity.setImagename(file.getOriginalFilename());
            imageRepository.save(imageEntity);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public List<ImageEntity> RetriveAllImages()
    {
        List<ImageEntity> imagesEntities;
        return imagesEntities=imageRepository.findAll();
    }
}

Kode HTML:-

<!DOCTYPE html>
<html lang="en" xmlns:th="html://thymeleaf.org">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
      integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk"
      crossorigin="anonymous">
<link href='https://fonts.googleapis.com/css?family=Aguafina Script' rel='stylesheet' >
<link href='https://fonts.googleapis.com/css?family=Alegreya SC' rel='stylesheet'>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>allimages</title>
</head>

<body>
<br>
<br>
<div class="container" >
    <div class="row">
        <div class="col-xl-3" th:each="allimages, istat : ${listofimages}">
            <div class="card" style="width: 15rem;">
                <img class="card-img-top" th:src="${allimages.image}" alt="Card image cap">
                <div class="card-body">
                    <p class="card-title" th:text = "${allimages.imagename}"></p>
                    <hr>
                    <p class="card-text" th:text = "${allimages.filetype}"></p>
                </div>
            </div>
            <span th:if="${istat.count % 4 == 0}"><br></span>
        </div>
    </div>
</div>
</body>
</html>

Terima kasih sebelumnya.. Bantuan apa pun akan sangat dihargai..


person deep    schedule 10.09.2020    source sumber


Jawaban (1)


Ubah HTML Anda menjadi:

<img class="card-img-top" th:src="@{allimages.image}" alt="Card image cap">

Catatan dalam hal ini kita menggunakan @ bukannya $ di <img th:src>. Lihat artikel ini untuk detail selengkapnya.

person Kovsharov    schedule 11.09.2020
comment
maaf itu tidak berfungsi..Omong-omong, terima kasih atas perhatian Anda - person deep; 11.09.2020