Regarding your question,
I don't think trying to dynamically create Tiles definitions will work.
Struts requires that tiles definitions be defined in XML beforehand, and changing them requires a restart of the application.
You could always write your own extensions to Struts in order to do it, but I think it would be profitable to pursue other options before going to the trouble of extending Struts.
I'd suggest you investigate using
LazyValidatorForm. It is well suited to dynamically created pages, and does not require you to define field names or types in advance.