Thursday, May 5, 2011

Declaring functions in JSP?

I come from PHP world, where declaring a function in the middle of a php page is pretty simple. I tried to do the same in 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;

}

I get the following error:

An error occurred at line: 20 in the jsp file: /headers.jsp
Illegal modifier for the variable getQuarter; only final is permitted
17:     return;
18: }
From stackoverflow
  • You need to enclose that in <%! %> as follows:

    <%!
    
    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;
    }
    
    %>
    

    You can then invoke the function within scriptlets or expressions:

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

    or

    <%= getQuarter(17) %>
    
    Adam Jaskiewicz : You can, but you shouldn't.
  • and if you want to receive a request variable inside of that function? or just print something?

    thank you

0 comments:

Post a Comment