0

我的页面中有一个复选框组。检查输入后,如果输入错误,将向用户显示错误消息,但复选框的状态会丢失。这是我的代码的一部分,它显示了一个包含三个项目(CONFIGURATION、TESTER、DEVELOPER)的组复选框:

    group = new CheckGroup("group", user.getRoleNames());
    group.add(new CheckGroupSelector("groupselector"));

    // The list of possible roles
    List<String> roleNames = new ArrayList<String>();
    roleNames.add(Roles.CONFIGURATION.value());
    roleNames.add(Roles.TESTER.value());
    roleNames.add(Roles.DEVELOPER.value());

    group.add(new ListView("roles", roleNames) {
        protected void populateItem(ListItem item) {
            item.add(new Check("checkbox", item.getModel()));
            item.add(new Label("name", item.getModel()));
        }
    });
    add(group);

我还有两个用户名和密码文本框。如果用户输入错误的密码,她/他会收到一条错误消息,但是在显示错误消息后,选中的项目变为未选中,你知道我怎样才能保持复选框的状态吗?

4

1 回答 1

2

我将我的代码更改如下:

       ListView roles = new ListView("roles", roleNames) {
            protected void populateItem(ListItem item) {
                item.add(new Check("checkbox", item.getModel()));
                item.add(new Label("name", item.getModel()));
            }
        };
        roles.setReuseItems(true);
        group.add(roles);

现在它可以正常工作了。因此,唯一需要的是将 setReuseItems 设置为 true。

于 2012-05-30T09:19:27.730 回答