كيف يقوم Spring 2.5 بتخطيط بيانات الطلب الواردة إلى أمر ModelAttribute؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

لقد استخدمت SPRING 2.0 والآن أستخدم Spring 2.5 natially ، جعل SPRING 2.5 الحياة سهلة للغاية فيما يتعلق بوحدات تحكم الويب. يستمر السؤال في ذهني أنه في 2.0 اضطررنا إلى تعيين فئة الأوامر ، وبناءً على ذلك ، يستخدم AbstractFormController لملء كائن الأوامر هذا لنا. في ربيع 2.5 ، لا نفعل ذلك ، فكيف تعرف أن الفئة التي يجب استخدامها؟ هل يعتمد على نوع المعلمة التي لدينا مشروح modelattribute ("الأمر") إلى؟

إذا كانت الإجابة بنعم ، فالرجاء إخباري بأي فصل "utils" يوفر الآلية الدقيقة حيث يمكنني تمرير httprequest واسم الفصل (أو كائن الفئة) وهذا من شأنه أن يعيد لي الكائن المأثور!

أتمنى أن تكون قد حصلت على سؤالي.

شكرا مقدما.

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

المحلول

تعتمد ملزمة ويب MVC في النهاية على

org.springframework.beans.abstractPropertyAccessor

التي لديها اثنين من التطبيقات الملموسة:

org.springframework.beans.beanwrapperimpl org.springframework.beans.directfieldAccessor

كلاهما يقبل كائن Java ، والذي سيكون الهدف لتعيين الخصائص ل.

الأول ، يستخدم BeanWrapperImpl أساليب Setter/Getter لكائن Java ، بينما يقوم الآخر بتعيين الحقول مباشرة. يتحقق كلا من أن الأساليب/الحقول عامة/مؤهلة ، وإذا استخدمت خلاف ذلك ، استخدم setcactible (True) لضمان تعيينها.

من الويب MVC ، يتم إنشاء مثيل لـ AbstractPropertyAccessor ، ويتم تمرير خريطة المعلمة لـ httprequest إلى AbstractPropertyAccessor#setPropertyValues.

بعد المكالمة ، يتم ملء كائن Java بكل ما هو موجود في الخريطة

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