must be used with a prefix when a default namespace is not specified
<p>I tried to run EL function on Tomcat v7 server but it failed.</p>

<p>JSP:</p>

<pre><code>&lt;input type="hidden" name="" id="Rcept_&lt;%=i%&gt;" value="${QStr.str_hl( incidentTpEtt.rceptCtts)}"&gt;
</code></pre>

<p>Error:</p>

<blockquote>
  <p>The function str2html must be used with a prefix when a default namespace is not specified</p>
</blockquote>

<p>So I tried the following code</p>

<pre><code>&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %&gt; 
&lt;input type="hidden" name="" id="Rcept_&lt;%=i%&gt;" value="${fn:str_hl(QStr, incidentTpEtt.rceptCtts)}"&gt;
</code></pre>

<p>or </p>

<pre><code>&lt;input type="hidden" name="" id="Rcept_&lt;%=i%&gt;" value="${fn:QStr(str_hl, incidentTpEtt.rceptCtts)}"&gt;
</code></pre>

<p>Error:</p>

<blockquote>
  <p>The function str_hl cannot be located with the specified prefix</p>
</blockquote>

<p><code>QStr</code>:</p>

<pre><code>public static String str_hl(String as_str) {
    char[] l_str = null;                                                    
    int li_len = 0;                                                          
    StringBuffer l_return = new StringBuffer();                               

    if(as_str == null)                                                       
        return null;

    l_str = as_str.trim().toCharArray();
    li_len = l_str.length;

    for(int i=0 ; i&lt;li_len ; i++) {
        if     (l_str[i] == '&amp;')  l_return.append("&amp;amp;");
        else if(l_str[i] == '&lt;')  l_return.append("&amp;lt;");
        else if(l_str[i] == '&gt;')  l_return.append("&amp;gt;");
        else if(l_str[i] == '"')  l_return.append("&amp;quot;");
        else if(l_str[i] == '\'') l_return.append("&amp;#39;");
        else l_return.append(l_str[i]);
    }
    return l_return.toString();
}
</code></pre>

<p>How can I solve this problem?</p>