In HTML5, you can have an input field that browsers can render with a date picker:
<input type="date" wicket:id="startDate" />
add(new DateTextField("startDate", dateModel, "yyyy-MM-dd"));The important thing to note is the date pattern "yyyy-MM-dd". The date is rendered (at least in my locale) as MM/dd/yyyy, but the browser returns the date string as yyyy-MM-dd, and if you don't tell Wicket that, it won't be able to parse the return value as a string, and you'll get an error.