2016-06-30 11 views
1

Ich möchte Wert zuzugreifen wie: user.userSettings.nativeLanguage Wo:Thymoleaf: Objekt im Objekt, konnte nicht auf Wert wie jsp zugreifen? Eigenschaft oder ein Feld - nicht auf null zu finden

User{ 
    private UserSettings userSettings 
    //gettter & setter 
} 


UserSettings{ 
    private string nativeLanguage 
    //gettter & setter 
} 

Mein 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> 

Es zeigte diese Linie :

<h3>Native:</h3><h3 th:text="${user.userSettings}"></h3> 

Aber nicht diese Linie nicht wor König:

<h3>Native:</h3><h3 th:text="${user.userSettings.nativeLanguage}"></h3> 

Und ich habe Fehler:

org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): Property or field 'nativeLanguage' cannot be found on null 
+0

fix '$ { user.userSettings.nativeLanguage} 'zu' $ {user.userSetting.nativeLanguage} ' und Getter-Methode zu definieren, scheint es zu funktionieren. –

+0

@YukiYoshida, ich habe meine Frage aktualisiert. Ich sehe auch das Dokument. Es sollte funktionieren. Aber ich habe Tage versucht, zu beheben, aber es funktioniert immer noch nicht. Irgendeine Idee ?? Vielen Dank. –

Antwort

0

Mein Problem wurde gelöst:

@RequestMapping("/findfriend") 
public String findFreind(Map<String, List<UserAccount>> users){ 
    users.put("friends", userRepository.findAll());   
    return "find_friend"; 
} 

zu: ich aus geändert

@RequestMapping("/findfriend") 
public String findFreind(Model model){ 
    model.addAttribute("friends", userRepository.findAll());   
    return "find_friend"; 
} 
Verwandte Themen