The JSTL c:url tag does not support URI template variables. The closest option is to apply EL expressions inside the c:url value, however, the template values will not be URL encoded.
We should create a new url tag modeled after JSTL c:url that that supports URI template variables and properly URL encodes them. The new tag should be a drop in replacement for c:url users.
Created spring:url and spring:param tags that enhance the functionality of the JSTL c:url tag. URI templates are supported in the url value attribute. They are resolved against the params defined inside the url tag body. Params that are unable to be applied as URI template are added to the query string.
Still need to create docs.