title: Where is 'param' variable defined in Spring MVC/Apache Tiles application
body: <p>A default startup Spring MVC with Apache Tiles application has a list of predefined tagx files. I find a variable ${param} is used everywhere but couldn't find there it defined and initiated, please anyone can give a hint about where does it come from? Thanks</p>
  
  <p>For example, from language.tagx:</p>
  
  <pre><code>&lt;jsp:directive.attribute name="locale" type="java.lang.String" required="true" rtexprvalue="true" description="The locale for the language to be added." /&gt;
  &lt;jsp:directive.attribute name="label" type="java.lang.String" required="true" rtexprvalue="true" description="The country label for the language to be added." /&gt;
  &lt;jsp:directive.attribute name="render" type="java.lang.Boolean" required="false" rtexprvalue="true" description="Indicate if the contents of this tag and all enclosed tags should be rendered (default 'true')" /&gt;
  
  &lt;c:if test="${empty render or render}"&gt;
  &lt;spring:url var="img" value="/images/${locale}.png" /&gt;
  &lt;spring:url var="url" value=""&gt;
    &lt;c:if test="${null ne param.form}"&gt;
      &lt;spring:param name="form" value="1" /&gt;
    &lt;/c:if&gt;
    &lt;c:if test="${not empty param.find}"&gt;
      &lt;spring:param name="find" value="${param.find}" /&gt;
    &lt;/c:if&gt;
    &lt;spring:param name="lang" value="${locale}" /&gt;
    &lt;c:if test="${not empty param.page}"&gt;
      &lt;spring:param name="page" value="${param.page}" /&gt;
    &lt;/c:if&gt;
    &lt;c:if test="${not empty param.size}"&gt;
      &lt;spring:param name="size" value="${param.size}" /&gt;
    &lt;/c:if&gt;
  &lt;/spring:url&gt;
  &lt;spring:message code="global_language_switch" arguments="${label}" var="lang_label" htmlEscape="false" /&gt;
  &lt;a href="${url}" title="${fn:escapeXml(lang_label)}"&gt;
    &lt;img class="flag" src="${fn:escapeXml(img)}" alt="${fn:escapeXml(lang_label)}" /&gt;
  &lt;/a&gt;
  &lt;c:out value=" " /&gt;
  &lt;/c:if&gt;
  </code></pre>