web-dev-qa-db-fra.com

Déclarer des fonctions dans JSP?

Je viens du monde PHP, où déclarer une fonction au milieu d'une page php est assez simple. J'ai essayé de faire la même chose en JSP:

public String getQuarter(int i){
String quarter;
switch(i){
    case 1: quarter = "Winter";
    break;

    case 2: quarter = "Spring";
    break;

    case 3: quarter = "Summer I";
    break;

    case 4: quarter = "Summer II";
    break;

    case 5: quarter = "Fall";
    break;

    default: quarter = "ERROR";
}

return quarter;
}

Je reçois l'erreur suivante:

An error occurred at line: 20 in the jsp file: /headers.jsp
Illegal modifier for the variable getQuarter; only final is permitted return;
62
Nathan H

Vous devez inclure cela dans <%! %> comme suit:

<%!

public String getQuarter(int i){
String quarter;
switch(i){
        case 1: quarter = "Winter";
        break;

        case 2: quarter = "Spring";
        break;

        case 3: quarter = "Summer I";
        break;

        case 4: quarter = "Summer II";
        break;

        case 5: quarter = "Fall";
        break;

        default: quarter = "ERROR";
}

return quarter;
}

%>

Vous pouvez ensuite appeler la fonction dans des scriptlets ou des expressions:

<%
     out.print(getQuarter(4));
%>

o

<%= getQuarter(17) %>
106
karim79