मैं जेएसपी ईएल के लिए नया हूँ। मैं कुछ ईएल पाठ पढ़ रहा हूं और मुझे निम्नलिखित कोड मिला है:

<body>
        <h1>Hello World!</h1>
        <%
        String s1 = "aaa ";
        String s2 = "22";
        Double dObj = new Double(3.5);
        int a;
        a = 12;
        %>
        s1 + s2 = ${ s1 + s2 } <br>
        a + 2 = ${a + 2} <br>
        dObj + 2 = ${dObj + 2} <br>
        2 + 2 = ${"2" + 2}
    </body>

और परिणाम:

s1 + s2 = 0  (1)
a + 2 = 2 (2)
dObj + 2 = 2  (3)
2 + 2 = 4 (4)

मैं (4) के परिणाम को समझ सकता हूं लेकिन (1), (2), और (3) के परिणामों के बारे में मेरे पास कोई विचार नहीं है। क्या कोई इसके बारे में विस्तार से बता सकता है?

0
ipkiss 19 अगस्त 2011, 12:39
1
आप जो कुछ भी करते हैं, स्क्रिप्टलेट का प्रयोग न करें!
 – 
Kris
19 अगस्त 2011, 12:40

2 जवाब

सबसे बढ़िया उत्तर

ईएल चर एक पृष्ठ-, या अनुरोध-, या सत्र-, या एप्लिकेशन-स्कोप विशेषता का संदर्भ देते हैं (उस क्रम में प्रत्येक दायरे का निरीक्षण किया जाता है)। वे स्थानीय स्क्रिप्टलेट चर का संदर्भ नहीं देते हैं।

इसलिए, चूंकि आपके पास s1, s2, a या dObj नाम के किसी भी क्षेत्र में कोई विशेषता नहीं है, डिफ़ॉल्ट मानों का उपयोग किया जाता है (0)।

परिणाम वही होंगे जिनकी आप अपेक्षा कर रहे हैं यदि स्क्रिप्टलेट कोड निम्नलिखित होगा:

    <%
    String s1 = "aaa ";
    String s2 = "22";
    Double dObj = new Double(3.5);
    int a;
    a = 12;

    request.setAttribute("s1", s1);
    request.setAttribute("s2", s2);
    request.setAttribute("dObj", dObj);
    request.setAttribute("a", a);

    %>

एक अच्छी तरह से आर्किटेक्टेड एप्लिकेशन में, इन विशेषताओं को एक सर्वलेट द्वारा सेट किया जाएगा जो आपके जेएसपी को भेजेगा, या एक जेएसपी टैग (उदाहरण के लिए <c:set>) द्वारा, लेकिन एक स्क्रिप्टलेट द्वारा नहीं। अब स्क्रिप्टलेट का उपयोग नहीं किया जाना चाहिए।

2
JB Nizet 19 अगस्त 2011, 12:53

बस Google "JSP EL अंकगणित" और आपको यहां बहुत सारे उदाहरण खोजने चाहिए, जैसे: http://www.roseindia.net/jsp/simple-jsp-example/ExpressionLanguageBasicArithmetic.shtml

परिणाम इस बात पर निर्भर करते हैं कि ईएल {} टैग के अंदर वस्तुओं का मूल्यांकन कैसे किया जाता है।

0
Kris 19 अगस्त 2011, 12:46