2016-04-28 2 views
0

Ich habe versucht, EL-Funktion auf Tomcat v7-Server auszuführen, aber es ist fehlgeschlagen.muss mit einem Präfix verwendet werden, wenn kein Standardnamespace angegeben ist

JSP:

<input type="hidden" name="" id="Rcept_<%=i%>" value="${QStr.str_hl(incidentTpEtt.rceptCtts)}"> 

Fehler:

The function str2html must be used with a prefix when a default namespace is not specified

Also versuchte ich den folgenden Code

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

oder

<input type="hidden" name="" id="Rcept_<%=i%>" value="${fn:QStr(str_hl, incidentTpEtt.rceptCtts)}"> 

Fehler:

The function str_hl cannot be located with the specified prefix

QStr:

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<li_len ; i++) { 
     if  (l_str[i] == '&') l_return.append("&amp;"); 
     else if(l_str[i] == '<') l_return.append("&lt;"); 
     else if(l_str[i] == '>') l_return.append("&gt;"); 
     else if(l_str[i] == '"') l_return.append("&quot;"); 
     else if(l_str[i] == '\'') l_return.append("&#39;"); 
     else l_return.append(l_str[i]); 
    } 
    return l_return.toString(); 
} 

Wie kann ich dieses Problem lösen?

Antwort

0

So weit ich das Problem verstanden habe.Sie haben die Methode als statisch definiert Also mit Class Name aufrufen ist völlig in Ordnung, nur eine Sache, die Sie verpasst haben, sollten Sie use scriplet dort.

<input type="hidden" name="" id="Rcept_<%=i%>" value='<%=QStr.str_hl(incidentTpEtt.rceptCtts)%>'>

Um in der Lage sein, die EL zu verwenden, die Sie in einer der Umfang wie Session die Instanz definieren müssen, anfordern oder Seite, dann können Sie es nur verwenden.

Hinweis: - Sie sollten auch die Instanz incidentTpEtt vor dem Aufruf der str_hl Methode definieren.

+0

I Wechselcode -> $ {qstr .str_hl (incidentTpEtt.rceptCtts)} – senam

+0

Warum negative Stimme? Erwarten Sie eine vollständige Lösung, indem Sie nur einige Codezeilen betrachten ??? Ich habe ihm ein Beispiel gegeben, dass er mit diesen Zeilen nicht "EL" verwenden kann, aber er sollte "Scriplet" verwenden. –

Verwandte Themen