سؤال

أنا أستخدم بوابة Websphere 6.0 وأتساءل عما إذا كانت هناك طريقة يمكنني من خلالها إخبار الخادم بالصفحة التي سيتم عرضها من طريقة doView.أعلم أنه يمكنني القيام بذلك من خلال طريقةprocessAction ولكن لسوء الحظ دلالات المشكلة لا تسمح بذلك.

شكرا لك على مساعدتك

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

المحلول

وكما فهمت، وتريد أن تقرر أي JSP صفحة / HTML أنت ذاهب لتظهر للمستخدم.

في هذه الحالة، وهذا هو ما عليك القيام به.

public void doView(RenderRequest req, RenderResponse res) throws IOException,
PortletException {

    PortletRequestDispatcher prd =
        getPortletContext().getRequestDispatcher("/WEB-INF/jsp/view.jsp");
    prd.include(req, res);
}

ويمكنك أن تقرر في كل مرة التي التخطيط الاستراتيجي المشترك تريد الحصول على المرسل طلب.

نصائح أخرى

أشك في إمكانية إرسال إعادة توجيه في doView().سببان لذلك:

  • لأسباب تتعلق بالأداء والعديد من الأسباب الأخرى، قد تستدعي البوابة doView() بعد إنشاء رؤوس استجابة HTTP الخاصة بالبوابة وإرسالها - وبالتالي فات الأوان لإصدار إعادة التوجيه.
  • قد يكون أمرًا "شريرًا" جدًا أن تكون قادرًا على القيام بذلك - يمكن استدعاء doView() الخاص بالمدخل في أي وقت بواسطة البوابة الإلكترونية، دون تفاعل المستخدم مع هذا المدخل.ومن ثم، يمكن للمدخل أن يقوم بإعادة التوجيه بعد تحديث عشوائي للصفحة، أو التفاعل مع مدخل آخر.

بشكل عام، أود أن أقول أنه إذا كان المدخل بحاجة إلى إجراء إعادة توجيه في doView، فقد يتطلب الأمر إعادة تصميم.ربما حاول وصف مشكلتك بمزيد من التفاصيل.

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