title: JSTL EL accessor translation priority when get and is both exist?
body: <p>This is sorta' a two-part question.</p>
  
  <p>I have a person object with a char attribute on it called "active". Person has a getActive() method that returns a char as expected. In my JSTL EL, I have the following:</p>
  
  <pre><code>&lt;c:if test="${person.active == '1'}"&gt;Active&lt;/c:if&gt;
  </code></pre>
  
  <p>This never passes. My understanding is that quoted literals in JSTL are strings (regardless of single or double quote) and that the char type is being retained from the getActive call, so these two values are not equal when getActive() returns the character '1'.</p>
  
  <p>As an alternative, I added an isActive() method which returns a boolean. In this case, the following works:</p>
  
  <pre><code>&lt;c:if test="${person.active == true}"&gt;Active&lt;/c:if&gt;
  </code></pre>
  
  <p>Here are my questions:</p>
  
  <ol>
  <li>Is my understanding correct regarding the char comparison? If so, is there any way to convert the types in JSTL so that they are comparable?</li>
  <li>When both getActive() and isActive() exist, which one gets called by the EL translation? It seems isActive() gets priority but is there an officially documented ordering to this?</li>
  </ol>