2009-05-05 44 views
53

Tôi đến từ thế giới PHP, nơi tuyên bố một chức năng ở giữa trang php khá đơn giản. Tôi cố gắng để làm điều tương tự trong JSP:Khai báo chức năng trong 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; 
} 

tôi nhận được lỗi sau:

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

Bạn có lẽ không nên làm điều này. Chuyển dữ liệu dưới dạng có thể sử dụng tới JSP từ bất cứ nơi nào bạn nhận được nó. –

Trả lời

91

Bạn cần phải gửi kèm theo đó trong <%! %> Như sau:

<%! 

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

%> 

Sau đó bạn có thể gọi hàm trong scriptlets hoặc biểu thức:

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

hay

<%= getQuarter(17) %> 
+11

Bạn có thể, nhưng bạn không nên. –

+10

Adam, tại sao bạn không? Xin vui lòng giải thích, xin vui lòng. – ericso

+9

chỉ trong trường hợp bất cứ ai như tôi lang thang sự khác biệt giữa <%! %> và <% %> có một lời giải thích tốt ở đây là những gì: http://stackoverflow.com/questions/5508753/difference-between-and – epeleg

Các vấn đề liên quan