What do the Spring Framework JSP Tags do?
<p>I am currently mapping some HTML tags over to Spring tags in my JSP files. Spring MVC has two tag libraries: spring.tld and spring-form.tld</p>

<p>I understand the descriptions for the tags defined in the Form Tag Library, so I know which HTML tags to map to Spring Form tags. However, I don't know how to use the Spring Tag Library at all. The defined tags and the given descriptions are as follows:</p>

<ul>
<li><strong>htmlEscape</strong>: Sets default HTML escaping value for the current page. Overrides a "defaultHtmlEscape" context-param in web.xml, if any.</li>
<li><strong>escapeBody</strong>: Escapes it's enclosed body content, applying HTML escaping and/or JavaScript escaping. The HTML escaping flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</li>
<li><strong>message</strong>: Retrieves the message with the given code, or text if code isn't resolvable. The HTML escaping flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</li>
<li><strong>theme</strong>: Retrieves the theme message with the given code, or text if code isn't resolvable. The HTML escaping flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</li>
<li><strong>argument</strong>: Argument tag based on the JSTL fmt:param tag. The purpose is to support arguments inside the spring:message and spring:theme tags.</li>
<li><strong>hasBindErrors</strong>: Provides Errors instance in case of bind errors. The HTML escaping flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</li>
<li><strong>nestedPath</strong>: Sets a nested path to be used by the bind tags path.</li>
<li><strong>bind</strong>: Provides BindStatus object for the given bind path. The HTML escaping flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</li>
<li><strong>transform</strong>: Provides transformation of a variables to Strings, using an appropriate custom PropertyEditor from BindTag (can only be used inside BindTag). The HTML escaping flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</li>
<li><strong>url</strong>: URL tag based on the JSTL c:url tag. This variant is fully backwards compatible with the standard tag. Enhancements include support for URL template parameters.</li>
<li><strong>param</strong>: Parameter tag based on the JSTL c:param tag. The sole purpose is to support params inside the spring:url tag. </li>
<li><strong>eval</strong>: Evaluates a Spring expression (SpEL) and either prints the result or assigns it to a variable.</li>
</ul>

<p>I don't understand the descriptions in the slightest. Escaping, theme, JSTL, binding, nested path, Spring expressions etc. - what are they talking about?</p>

<p>What do these tags do? Which tags do they substitute in my JSP files? I tried searching online but all the search results are about the Form Tag Library (spring-form.tld) not the Tag Library (spring.tld) which is the one I'm having trouble with.</p>

<p><strong>Edit</strong>: I'm migrating from Struts 1.1 to Spring 4.1.6. Part of the steps involve converting to Spring-compatible tags in the JSP files. The original JSP files do not contain any taglib directives, so I am guessing only HTML tags are used in the original code.</p>