In the previous chapter we have only scratched the surface of Wicket forms. The Form component was not only designed to collect user input but also to extend the semantic of the classic HTML forms with new features. 

One of such features is the ability to work with nested forms (they will be discussed in [paragraph 12.6|guide:forms2_6]).

In this chapter we will continue to explore Wicket forms learning how to master them and how to build effective and user-proof forms for our web applications.
