مزايا استخدام OGNL مقارنة بـ EL النموذجي في Struts2

StackOverflow https://stackoverflow.com/questions/2061903

  •  20-09-2019
  •  | 
  •  

سؤال

لنفترض أنني لا أستخدم OGNL لإنشاء تطبيق الويب الخاص بي Struts2 وأنني أستخدم فقط El النموذجي الذي توفره Sun.ماذا سيكون الجانب السلبي منه؟

بقدر ما أعرف، OGNL هو نوع من التعبير الذي يحاول مطابقة أفضل قيمة مطابقة من ValueStack بناءً على حالته الحالية.هل يمكن تحقيق ذلك أيضًا باستخدام EL وحده بدلاً من ذلك؟

شكرا مقدما على الردود

دانيال

هل كانت مفيدة؟

المحلول

اجابة قصيرة: نعم، يمكنك استخدام JSP EL بدلاً من OGNL.كلتا اللغتين لهما إيجابيات وسلبيات، ولكن ليس هناك جانب سلبي يلوح في الأفق لاستخدام أي منهما.

اجابة طويلة:يتم استخدام OGNL داخليًا بواسطة XWork وStruts2، لذلك لا يمكنك فعليًا إزالة التبعية نفسها، ومع ذلك يمكنك بالتأكيد استخدام JSP EL في الغالب (أو حتى حصريًا) في طبقة عرض JSP الخاصة بك.

هناك إيجابيات وسلبيات لاستخدام أي لغة التعبير.أحد المجالات التي تتألق فيها OGNL على JSP EL هو الإنشاء الديناميكي للخرائط والمجموعات، مثل الدعم <select/> العناصر، الخ.

ومع ذلك، في معظم الحالات، أجد أن JSP EL مناسب بشكل أفضل بالنسبة لي نظرًا لأنني أستخدم علامات JSP البسيطة بكثافة (.tag الملفات).

@ أميت شارما:لا بد لي من عدم الاتفاق على أن استخدام JSP/JSTL عبر OGNL وعلامات Struts يتعارض مع غرض استخدام Struts2.يعد إطار عمل المعترض وتحويل النوع وأنواع النتائج من بين الأسباب الأكثر توسعًا وإقناعًا لاستخدام Struts2.لا يرتبط أي من هذه الأشياء بأي تقنية عرض محددة.

نصائح أخرى

وأنا لا أعتقد أنه من الممكن أن تفعل حتى إذا اخترت عدم استخدام OGNL مع تطبيق الويب الخاص بك struts2. يستخدم OGNL داخليا struts2 لنقل البيانات ونوع التحويل. إذا كنت تخطط لاستخدام struts2، سيكون لديك لاستخدام OGNL وإذا ش لا تفعل ذلك، سوف struts2 تفعل ذلك تلقائيا.

وعلى الرغم من أنك قد يستبعد OGNL واستخدام EL النقي، ولكن بهذه الطريقة فإن الغرض الأساسي من استخدام struts2 يحصل هزم السبب إذا كنت لا باستخدام المدمج في ملامح struts2، كنت تكتب على الأرجح تلك الآليات من الصفر باستخدام EL .

وعلى الرغم من أنه قد يبدو غريبا في البداية، ولكن OGNL هو قوي جدا ويستحق النظر عند وضع في struts2.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top