如何访问我的对象 Thymeleaf 的属性(Spring Boot)
Posted
技术标签:
【中文标题】如何访问我的对象 Thymeleaf 的属性(Spring Boot)【英文标题】:How can I access a property of my object Thymeleaf (Spring Boot) 【发布时间】:2022-01-22 13:35:40 【问题描述】:我网站上的当前输出...
这是 --- Optional[User(id=111, username=Juan Lopez, password=Juanini123, post=Hoy es un gran dia)]的个人页面
所需的输出只是显示名称“Juan Lopez”
我的 html (Thymleaf)...
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Personal Profile</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<div class="positionlist" th:unless="$#lists.isEmpty(personalUser)">
<span>This is the personal page of --- </span>
<span th:text="$personalUser"></span>
</div>
</body>
</html>
我的控制器(Spring Boot):
package com.littlesocial.sm;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.ui.Model;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Controller
public class UserController
@NonNull
private final UserRepository userRepository;
@GetMapping("/myProfile")
public String getPersonalUserProfile(Model model)
userRepository.save(
new User(111L,"Juan Lopez", "Juanini123", "Hoy es un gran dia"));
model.addAttribute("personalUser", userRepository.findById(111L));
return "personalUserProfile";
我尝试过诸如个人用户.用户名之类的东西 - 但它不起作用。
【问题讨论】:
th:unless="$#lists.isEmpty(personalUser)
可能是问题!(?)尝试/更好:th:unless="$personalUser
。绝对问题:两次调用您的控制器..(id:111L)..希望“Juanini123”不是真正的密码:))
@xerx593 这不是问题,它实际上只是不允许我访问 Optional 类中输出“Optional[User(id=111, username=Juan Lopez, password=Juanini123 , post=Hoy es un gran dia)]" 是的,那是我的密码!开玩笑哈哈
现在,得到你! look here(接受的答案:2 个备选方案),现在您必须始终如一地申请 $personalUser.get().username
(或您要显示的内容)
@xerx593 是的!它起作用了……我快要高兴得哭了。谢谢!!!!!想回答这个问题让我批准吗?还是我应该这样做?还是我们应该复制它?
我分享你的快乐!谢谢你,非常欢迎! :-)
【参考方案1】:
请做:
<span th:text="$personalUser.get().username"></span>
或者:
Optional<User> foundInDb = userRepository.findById(111L);
if (foundInDb.present())
model.addAttribute("personalUserName", // e.g.
foundInDb.get().getUserName()
);
根据:
th:text="personalUserName"
感谢很多人:How can i get a acces to the optional value in html file by thymeleaf?
【讨论】:
以上是关于如何访问我的对象 Thymeleaf 的属性(Spring Boot)的主要内容,如果未能解决你的问题,请参考以下文章
Thymeleaf:对象中的对象,无法像jsp那样访问值?属性或字段 - 在 null 上找不到
如何在 thymeleaf 中访问 Spring session bean 范围
Thymeleaf/SB 如何将变量从对象传递到链接元素的 href 属性?
Thymeleaf + Spring:Bean 名称“用户”的 BindingResult 和普通目标对象都不能用作请求属性