繁体   English   中英

Thymeleaf + Spring boot - 使用getter方法显示图片

[英]Thymeleaf + Spring boot - use getter method to display image

我正在尝试通过从 thymeleaf 中的用户模型调用我的 getImageName() 来根据登录的用户动态显示图像,但我确定一些基本的东西已经错过了我,这是一个小错误,我只是看不到找到。

我的控制器看起来像:

@GetMapping("/myProfile")
public String myProfile(HttpServletRequest request, Model model){
    HttpSession session = request.getSession();
    User user = (User) session.getAttribute("user");
    model.addAttribute("userToDisplay", user);
    System.out.println("Printing from myProfile "+ user.getBio());
    if(user!=null){
        return "myProfile";
    } else{
        return "redirect:/";
    }
}

我可以通过 user.getImageName() 轻松打印出图像的名称; 我的百里香代码行如下所示:

<img th:src="@{user.getImageName()}"/>

如果我将 user.getImageName() 替换为我的静态文件夹中的一张图片的名称,它会正常工作,但这样做时当然是静态的。 所有图像都在静态文件夹中以统计文件夹层次结构。

有谁知道我在这里做错了什么? 我在互联网上能读到的只是人们使用他们模型中的变量,而我的模型是私有的。 我希望有人能在这里帮助我。

希望你有一个美好的一天! 此致。

在不知道错误是什么的情况下……不正确的一件事是您在@{...}表达式中使用变量的方式。 如果要使用变量表达式,正确的方法是:

<img th:src="@{${user.imageName}}"/>

您也可以省略@{...} ,具体取决于imageName的值。

<img th:src="${user.imageName}"/>

(并且getImageName()等效于.imageName 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM