2015-03-05 8 views

उत्तर

6

सुनिश्चित नहीं हैं कि अगर एक StackOverflow wiki on Expression Language एक विश्वसनीय संदर्भ (मैं आधिकारिक चश्मा में यह खोजने की कोशिश कर दिया गया है अभी तक कोई भाग्य), लेकिन है:

ईएल JavaBeans विनिर्देश पर निर्भर करता है जब यह गुणों तक पहुंचने के लिए आता है। JSP में, निम्न अभिव्यक्ति:

${user.name}

मूलतः एक ही रूप में "कच्चे" स्क्रिप्टलेट कोड में निम्नलिखित (नीचे उदाहरण, सादगी के लिए है वास्तविकता में प्रतिबिंब एपीआई तरीकों को प्राप्त करने और आह्वान किया जाता है करता है उन्हें):

<% 
    User user = (User) pageContext.findAttribute("user"); 
    if (user != null) { 
    String name = user.getName(); 
    if (name != null) { 
     out.print(name); 
    } 
    } 
%> 

(...) कृपया ध्यान दें कि इस प्रकार प्रिंट नहीं करता "अशक्त" जब मान शून्य है और न ही एक NullPointerException विपरीत फेंकता है जब scriptlets का उपयोग कर के रूप में। दूसरे शब्दों में, ईएल शून्य-सुरक्षित है।

+1

_JSR 341: अभिव्यक्ति भाषा 3.0, 1.6, "ऑपरेटर [] और।" _ इस शून्य-सुरक्षित व्यवहार को समझाते हुए spec के भाग के लिए देखें। –

-2

model.addAttribute("railwayService",railwayServiceRepository.findOne(id));

जब भी मान शून्य है में, यह NullPointerException फेंक नहीं होगा, यह सिर्फ देखने के लिए के रूप में शून्य मान पारित करेंगे।

+2

मुझे लगता है कि Tkachuk_Evgen jsp – ccheneson

+0

@Sandeep Patange में इसका मतलब है, यह सही है लेकिन जब मैं का उपयोग करने की कोशिश '$ {railwayService.companies}' कुछ नहीं होता –

+0

क्षमा स्पष्ट विवरण नहीं दे रही है, लेकिन मैं एक ही मतलब के लिए क्रिएगर ने क्या समझाया है। –