سؤال

وكيف يمكنني الحصول على رأس التحويلية تحت Struts2؟ الآن أنا باستخدام فئة ActionSupport وأنا لا يمكن أن يبدو للحصول على وجوه ServletActionContext أو تطبيق واجهة ServletRequestAware؟ (أين هو ServletRequestAware في Struts2؟ التي جرة؟)

وأنا أحاول أن إنشاء إعادة توجيه تلقائي إلى المحيل صفحة، وتخزينها في متغير جلسة عمل. عندما يطلب شخص المصادقة أوث، I تخزين المحيل في الدورة وثم إرسالها إلى twitter. عند النقر سماح، تويتر يرسلها إلى بلدي رابط أوث رد. أنا لا تعمل هناك (لا تزال قائمة رمز وصول)، ثم أود أن إرسالها إلى المحيل لقد المخزنة في جلستهم.

وأنا متأكد من أنك يمكن أن أقول، أنا جديدة جدا لالدعامات. أنا لم أمضى أكثر من ثلاث ساعات قراءة مستندات جافا، غوغلينغ وذلك في محاولة لتجنب غضب ضد لي مستجد <م> تذلل

وشكرا!

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

المحلول

واعماله تعتبر "غير بارد" مرجع عناصر HTTP في الإجراءات، ولكن يصبح من الضروري جدا ....

org.apache.struts2.interceptor.
                         ServletRequestAware.setServletRequest(HttpServletRequest request);

وتنفيذ واجهة، وإنشاء متغير عضو HttpServletRequest ثم قم بتعيين متغير العضو الخاص للطلب الوارد في واضع تنفيذها أعلاه. الآن لديك الطلب ويمكنك القيام به request.getHeader("referer") الخاص بك.

وبعض الناس أيضا استخدام طريقة org.apache.struts2.ServletActionContext.getRequest() ثابت للحصول على الطلب. شكله سيئا يعتبر لأنها يمكن أن تجعل وحدة اختبار أكثر صعوبة، ولكن أرى أنه في كل وقت.

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