Если вы подклассом StatelessForm
вместо Form
, это займет у вас часть пути. Вместо того, чтобы иметь что-то вроде
действие = "MyApp / Калитка: интерфейс =: 1: eventEditor :: IFormSubmitListener ::"
со страницей, содержащей форму, смонтированной по закладному URL, вы получите что-то вроде, например,
действие = "MyApp / крепление / путь / некоторые / Титулы / Калитка: интерфейс =: 0: eventEditor :: IFormSubmitListener ::"
Используется MixedParamUrlCodingStrategy
для крепления в WebApplication.init()
Затем вы можете переопределить encodeUrlInHiddenFields()
для возврата true
, что даст вам чистый URL в атрибуте action
.
Однако все это на самом деле не меняет способ работы Wicket с формами, т.е. у вас все еще есть некоторые данные о состоянии Wicket в разметке клиента. Я полагаю, что причина такой сложности в том, что Wicket призван помочь вам создать веб-приложение, которое имеет состояние . Я заметил, что Wicket много чего делает (например, сравнивает отправленные значения формы с тем, что возвращают геттеры модели перед вызовом сеттеров) за кулисами, что я слишком мало знаю, чтобы чувствовать себя комфортно, просто вырезая его.
Вы можете использовать Wicket для предоставления веб-сервисов RESTful, хотя, как описано в этом сообщении в блоге . Существует также проект в коде Google под названием wicket-rest , который расширяет эту идею. Обратите внимание, что кажется, что это работает так же просто, как и потому, что просто никогда не использует весь компонент, основанный на построении пользовательского интерфейса.
У парня, который написал в этом посте , была другая проблема, но она все равно помогла мне немного лучше понять формы калитки.