2017-08-02 39 views
1

エラー:プロパティまたはフィールド 'headUrl'がnullに見つかりません。Thymeleafプロパティまたはフィールド 'xxxx'がnullに見つかりません

しかし、私はnullを見つけることができません。私のコードをチェックし、まだ分かりません。

結果は10のニュースでなければならず、他の9つのニュースは正常であり、最後にはエラーがあり、URLを正しく表示することができませんでした。

ここ

は(私は絵を貼り付ける方法がわからない)コードです:

Home.html:

<div class="user-avatar"> 
    <a href="/user/${vo.user.id}"> 
     <img width="32" class="img-circle" th:src="${vo.user.headUrl}"> 
    </a> 
</div> 

クラスユーザー:

private String headUrl; 

public User() {} 

public User(String name) { 
    this.name = name; 
    this.password = ""; 
    this.salt = ""; 
    this.headUrl = ""; 
} 

public String getHeadUrl() { 
    return headUrl; 
} 

public void setHeadUrl(String headUrl) { 
    this.headUrl = headUrl; 
} 

データベース:

@Test 
public void contextLoads() { 
    Random random = new Random(); 
    for (int i = 1; i < 10; i++) { 
     User user = new User(); 
     user.setHeadUrl(String.format("http://images.nowcoder.com/head/%dt.png", random.nextInt(100))); 
     user.setName(String.format("USER%d", i)); 
     user.setPassword(String.format("PASSWORD--%d",i*i)); 
     user.setSalt(String.format("SALT %d HelloWorld",i*5+20)); 
     userDao.addUser(user);    
    } 
} 

メイン:

@RequestMapping(path = {"/", "/index"}, method = {RequestMethod.GET,RequestMethod.POST}) 
public String index(Model model){ 
    List<News> newsList = newsService.getLatesNews(0, 0,10); 

    List<Map> vos = new ArrayList<>(); 
    for(News news :newsList){ 
     Map<String, Object> vo = new HashMap<String, Object>(); 
     vo.put("news",news); 
     vo.put("user", userService.getUser(news.getUserId())); 
     vos.add(vo); 
    } 

    model.addAttribute("vos", vos); 
    return "home.html"; 
} 

クラスUserServiceの:

public class UserService { 
@Autowired 
private UserDao userDao; 

public User getUser(int id) 
    return userDao.selectById(id);} 
+0

'getUser'がnullを返さないようにしてください。 – holmis83

答えて

1

あなたは)(ニュースのループで)新しいVOを作成し、ユーザーを設定しますが、ユーザーは、(userService.getUser(news.getUserId(nullの場合もありますおそらくnullを返します)。

ユーザーがnullの場合でもvo.user.headUrlを表示したいなら、あなたはこの

vo?.user?.headUrl 

それが存在し、それが存在する場合、それはheadUrlを表示する場合の表示、ユーザーとの上記のコードを書くことができます。

関連する問題