title: Getting a request parameter in a servlet from html form set with EL
body: <p>I have a JSP with the following EL/html tags:</p>
  
  <pre><code>    &lt;c:forEach var="key" items="${resource.stringPropertyNames()}"&gt;
      &lt;tr&gt;
          &lt;td&gt;${key}&lt;/td&gt;
          &lt;td&gt;&lt;input type = "text" name = "${key}" value = "${resource.get(key)}"&gt;&lt;/td&gt;                           
      &lt;/tr&gt;
      &lt;/c:forEach&gt;
  </code></pre>
  
  <p>When my jsp is rendered, the first <code>&lt;td&gt;</code> tag shows the evaluated value of ${key}. In the <code>&lt;input&gt;</code> tag however, the ${key} is not evaluated correctly. When I try to retrieve the input as request parameters from my servlet (<code>request.getParameter(StringKey)</code>), I get the literal <code>$key</code> without the braces. When I do <code>request.getParameter("$key")</code>, I get multiple values for the Strings that <code>${resource.get(key)}</code> evaluate to in the EL.</p>
  
  <p>What is going on?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Controller method (using spring) code:</p>
  
  <pre><code>    @RequestMapping(value = URI_PATH + "{fileName}", method = RequestMethod.GET)
      public String getProperties(@PathVariable String fileName, ModelMap modelMap) {
          Properties resource = ..//get properties file
          modelMap.addAttribute("resource", resource);
          return "configuration" // maps to my jsp;
      } 
  </code></pre>