Thymeleaf:对象中的对象,无法像jsp那样访问值?属性或字段 - 在 null 上找不到
Posted
技术标签:
【中文标题】Thymeleaf:对象中的对象,无法像jsp那样访问值?属性或字段 - 在 null 上找不到【英文标题】:Thymeleaf: object in object, could not access value like jsp? Property or field - cannot be found on null 【发布时间】:2016-11-02 08:46:12 【问题描述】:我想访问以下值: user.userSettings.nativeLanguage 哪里:
User
private UserSettings userSettings
//gettter & setter
UserSettings
private string nativeLanguage
//gettter & setter
我的html:
<table>
<tr th:each="user:$friends">
<td><h3>Name:</h3><h3 th:text="$user.name"></h3></td>
<td><h3>Native:</h3><h3 th:text="$user.userSettings.nativeLanguage"></h3></td>
<td><h3>Learning: SOME</h3></td>
<td><a href="/addAsFriend" class="btn btn-primary btn-lg active">Add</a></td>
</tr>
</table>
它显示了这一行:
<h3>Native:</h3><h3 th:text="$user.userSettings"></h3>
但不是这条线不起作用:
<h3>Native:</h3><h3 th:text="$user.userSettings.nativeLanguage"></h3>
我得到了错误:
org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): Property or field 'nativeLanguage' cannot be found on null
【问题讨论】:
修复$user.userSettings.nativeLanguage
为$user.userSetting.nativeLanguage
并定义getter 方法,它似乎工作。
@YukiYoshida,我更新了我的问题。我也看到了文件。它应该工作。但是我已经尝试了几天来修复,但它仍然无法正常工作。任何想法 ??谢谢。
【参考方案1】:
我的问题解决了: 我从:
@RequestMapping("/findfriend")
public String findFreind(Map<String, List<UserAccount>> users)
users.put("friends", userRepository.findAll());
return "find_friend";
到:
@RequestMapping("/findfriend")
public String findFreind(Model model)
model.addAttribute("friends", userRepository.findAll());
return "find_friend";
【讨论】:
以上是关于Thymeleaf:对象中的对象,无法像jsp那样访问值?属性或字段 - 在 null 上找不到的主要内容,如果未能解决你的问题,请参考以下文章
无法从 Thymeleaf 中的模型对象设置默认 CSS 变量
无法解析来自thymeleaf的javascript中的JSON对象