休止状態を使用してアイテムを追加する更新ビューを設定しましたが、送信を押した後に更新できません。更新ビューは次のとおりです。
public class ListViewPanel extends Panel {
/**
*
*/
private static final long serialVersionUID = 1L;
final List<IModel<UserDetails>> users = new ArrayList<IModel<UserDetails>>();
public ListViewPanel(String id, IModel<?> model) {
super(id, model);
Test test = new Test();
SessionFactory sessionFactory = test.configureSessionFactory();
Session session = sessionFactory.openSession();
listUsers(session, users);
add(new RefreshingView<UserDetails>("users") {
/**
*
*/
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
@Override
protected Iterator getItemModels() {
return users.iterator();
}
@Override
protected void populateItem(Item<UserDetails> item) {
UserDetails user = item.getModelObject();
item.add(new Label("userName", user.getUserName()));
item.add(new Label("userAddress", user.getAddress()));
}
});
}
public void listUsers(Session session, List<IModel<UserDetails>> users) {
Criteria criteria = session.createCriteria(UserDetails.class);
for (Object i : criteria.list()) {
users.add(Model.of((UserDetails) i));
}
}
次に、リスト ビュー パネルをホームページに追加します。
add(usersView = new ListViewPanel("users", null));
次に、OnSubmit ボタンで、新しいモデル オブジェクトを呼び出そうとします。
usersView.getDefaultModelObject();
アプリケーションを実行するたびに ListViewPanel に新しいエントリが表示されるため、データが休止状態に追加されていますが、プログラムの実行中には更新されません。