2013-11-25 51 views
0

我很新玩框架。我正在嘗試讓我的列表顯示在HTML頁面中,但代碼無法正常工作。引發的異常是NullPointerException:無法獲得null對象的屬性'userId'

這裏是代碼 -

public static void allUser(){ 

    Query query=JPA.em().createQuery("FROM DBUser"); 
    List users=query.getResultList(); 
    for(int i=0; i<users.size();i++){ 
     DBUser user=(DBUser) users.get(i); 
     System.out.println(user.getId()+" : "+user.getUsername()+ 
       " : "+user.getCreatedBy()+" : "+user.getCreatedDate()); 
     } 
    render(users); 
} 

的系統輸出確認我的列表是不是空的。

的HTML頁面 -

<h1>List of all Users in the database</h1> 
<table> 
    <tr> 
     @for(user <- users){ 
      <td>${user.userId}</td><td>${user.username}</td><td>${user.createdBy}</td><td>${user.createdDate}</td> 
     } 
     </tr> 
</table> 

我是很新的階。所以,請讓我知道如果我使用正確的語法或不檢索HTML頁面上的列表元素。

+0

非常有趣的組合使用Play 2.x版本播放1.x模板,查看@mgttlinger的答案和/或更好地描述您的問題 – biesior

+0

@biesior我猜OP會是一個清除它的人,但我認爲它是Play 1.x due到模板語法和使用'static void'和'render()'方法。 – estmatic

+0

@estmatic - 沒有OP的_better_描述,我們只能(arrrgghhh)嘗試猜測問題出在哪裏:/很抱歉地說,但我開始認爲有沒有希望的情況:( – biesior

回答

0

終於找到了工作的代碼...感謝大家對你的意見:)的

%{ 
    for(RegisterUser in users) { 
}% 
    <tr> 
     <td>${RegisterUser.userId}</td><td>${RegisterUser.username}</td> 
    </tr> 
%{ 
    } 
}% 
0

我相信這是

<h1>List of all Users in the database</h1> 
<table> 
    <tr> 
     @for(user <- users){ 
      <td>@user.userId</td><td>@user.username</td><td>@user.createdBy</td><td>@user.createdDate</td> 
     } 
    </tr> 
</table> 
0

在你System.out你正在做user.getId()但在你的模板你引用什麼是user.getUserId()

如果你的領域被稱爲id那麼你的模板必須是:

<td>${user.id}</td> 
+0

嗨estmatic, 實際上System.out我創建了一個RegisterUser類的用戶,如下所示 - > RegisterUser user = new RegisterUser(); users.add(user); 但存儲在ArrayList用戶中,但在HTML上訪問時頁面用戶實際上是RegisterUser的一個ArrayList,這就是爲什麼它是用戶的RegisterUser。 sori的命名約定:( – Vivek

相關問題