We recently worked on a short J2EE project using the Spring MVC framework. One of the models was particularly complicated, with multi-valued attributes that needed to be added, edited, and removed within the one form. The controller logic was starting to look like a complete mess of if-else statements as we tried to [...]