Wicket 7无法在表单树中找到组件

时间:2015-09-02 04:08:54

标签: java forms wicket

我正在创建一个允许管理员编辑用户信息的表单。但是,当我运行该应用程序时,收到以下错误消息:

public class EditUserPage extends BasePage {
    StringValue ormId;
    Sysuser sysuser;

    /**
     * Constructs ...
     *
     * @param parameters The class page parameters.
     */
    public EditUserPage(PageParameters parameters) {
        super(parameters);
        ormId = parameters.get("ormId");
    }

    @Override
    protected void onInitialize() {
        super.onInitialize();

        try {
            sysuser = Sysuser.getSysuserByORMID(ormId.toInt());
        } catch (PersistentException e) {
            e.printStackTrace();
        }

        Form form = new Form("userEditForm") {
            @Override
            protected void onSubmit() {
            }
        };

        form.setDefaultModel(new CompoundPropertyModel<Object>(this));
        form.add(new TextField("userEditLegendKey").setRequired(true).setLabel(new Model<String>("User Information")));
        form.add(new TextField("firstnameKey").setRequired(true).setLabel(new Model<String>("Firstname")));
        form.add(new TextField("surnameKey").setRequired(true).setLabel(new Model<String>("Surname")));
        form.add(new TextField("usernameKey").setRequired(true).setLabel(new Model<String>("Username")));
        form.add(new Button("savebutton"));

        form.add(new Button("cancelbutton"));
        final FeedbackPanel feedback = new FeedbackPanel("feedback");
        add(feedback);

        add(form);
    }
}

但据我所知,我的editUserFirstname字段受userEditForm限制。

这是我的代码......

EditUserPage.html

{{1}}

EditUserPage.java

{{1}}

1 个答案:

答案 0 :(得分:5)

在HTML中,您有<input wicket:id="editUserFirstname"和Java代码form.add(new TextField("firstnameKey")。 ids必须相同。