2009-05-05 19 views
53

मैं PHP दुनिया से आया हूं, जहां एक php पेज के बीच में एक फ़ंक्शन घोषित करना बहुत आसान है। मैं 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; 
} 

मैं निम्नलिखित त्रुटि मिलती है:

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

आप शायद ऐसा नहीं करना चाहिए। जहां भी आप इसे प्राप्त कर रहे हैं, वहां से जेएसपी को उपयोग करने योग्य फॉर्म में डेटा पास करें। –

उत्तर

91

आप संलग्न करने की है कि <% में की जरूरत है! %> इस प्रकार है:

<%! 

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

%> 

फिर आप scriptlets या भाव के भीतर समारोह आह्वान कर सकते हैं:

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

या

<%= getQuarter(17) %> 
+11

आप कर सकते हैं, लेकिन आपको नहीं करना चाहिए। –

+10

एडम, आपको क्यों नहीं चाहिए? कृपया बताएं, कृपया। – ericso

+9

बस अगर कोई मुझे पसंद करता है तो <%! %> और <% %> के बीच क्या अंतर है, यहां एक अच्छी व्याख्या है: http://stackoverflow.com/questions/5508753/difference-between-and – epeleg

संबंधित मुद्दे