[英]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.