الدعامات 1.3:إلى الأمام خارج سياق التطبيق؟
سؤال
الدعامات 1.3 التطبيق.لا يتم تقديم الموقع الرئيسي بواسطة الدعامات/Java.أحتاج إلى إعادة توجيه نتيجة إجراء الدعامات إلى صفحة في موقع الويب، والتي تكون خارج سياق الدعامات.أقوم حاليًا بإعادة التوجيه إلى JSP في السياق واستخدام التحديث التعريفي لإعادة التوجيه إلى الموقع الحقيقي.يبدو ذلك مقرفًا نوعًا ما.هل هناك طريقة أفضل؟
المحلول
لا يمكنك "التقدم" بالمعنى الدقيق للكلمة.اتصل وحسب sendRedirect()
على ال HttpServletResponse
كائن في الخاص بك Action
الطبقة execute()
الطريقة ثم return null
.
بالتناوب، إما الاتصال setModule()
على ال ActionForward
الكائن (الذي ستعود إليه) أو قم بتعيين المسار إلى URI مطلق.
نصائح أخرى
انتهى بي الأمر بالقيام بـ Response.sendRedirect().
إذا كان هذا لا يزال موجودًا في تطبيق الويب، فيمكنك استخدامه ServletContext.RequestDispatcher؟هذه هي الطريقة التي تعمل بها طريقة Struts doForward().ومع ذلك، للخروج من Struts/Java، فأنت بحاجة إلى sendRedirect().
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);