Многоразовая форма редактирования в Apache Wicket

У меня есть простая ContactEditPanel, которая содержит форму и несколько текстовых полей. До сих пор я включал AjaxSubmitLink в эту панель, которая, если содержимое формы допустимо, сохраняет/обновляет экземпляр Contact, содержащийся в модели Panel. Пока так просто. Однако теперь я хотел бы удалить ссылку, чтобы я мог, в зависимости от контекста, в котором я использую ContactEditPanel, размещать ссылку отправки на разных уровнях моей общей иерархии компонентов. Например, в одном контексте я хотел бы использовать для переключения между ContactEditPanel и ContactViewPanel с панелью действий над текущим представлением (редактировать | сохранить, отменить). Другим контекстом может быть использование ContactEditPanel в автономном режиме (возможно, как часть многоэтапного процесса) только со ссылкой для сохранения ниже.

Я обдумывал рефакторинг моей ContactEditPanel, чтобы расширить FormComponentPanel, а не Panel, как описано здесь, но я не уверен, что это правильный подход, и у меня возникают проблемы с обдумыванием этого.

Любая помощь будет принята с благодарностью!

Огромное спасибо,

A


person Anthony Webster    schedule 24.09.2012    source источник


Ответы (1)


Вы используете панель как FormComponent, поэтому расширяйте FormComponentPanel, это позволит вам сохранить всю проверку, которую вы пишете, содержащуюся в компоненте, а также позволит вам повторно использовать ее по своему усмотрению.

Просто представьте, что вы создали новый FormComponent, например TextField или DropDownChoice.

person drobson    schedule 25.09.2012