Hi, It has been a long time since my last commit to support spring mvc functions/directives (FREEMARKER-55). Today, I've opened a pull request, containing an initial form related work (only form:form and form:input directives for now, but those are parts of the crucial basement): - https://github.com/apache/incubator-freemarker/pull/41
Please feel free to take a look and let me know if you have any comments or remarks. Some pointers: - Initially I tried to leverage dynamic varargs for almost every html attribute, but I ended up defining each available attribute as member like Spring taglibs do, which seems clearer in both argument layout and maintenance. - Arguments for html attributes are kind of inherited from base classes such as AbstractHtmlElementTemplateDirectiveModel. I ended up merging named arg list in child directives by accessing static members, which is not totally clean - static members are visible anywhere, but that's what I think is the best for now. - spring:* tags are mapped to "spring.*" models, whereas form:* tags are mapped to "spring.form.*" models. I didn't want to expose "form" model separately in a higher level. I found out it's convenient to write <#assign form=spring.form /> in order to use <@form.input .../> instead of <@spring.form.input .../>. - The other (remaining) tasks seem to be relatively more straightforward: other inputs, button, textarea, select, etc. I'll probably merge the PR by myself in a day or two and continue with other directives while being willing to hear any feedback and suggestions. Kind regards, Woonsan
