سؤال

لدي صفحة عن طريق اسم BrampMap الذي يستخدم GoogleMap لإظهار بعض المبنى للمستخدم بعد تسجيل الدخول. كانت البيانات في البداية في الوضع المحمي (مطلوب كلمة المرور) (في categoiresxml التي تمتد protestisedpage) ولكن وجدت أن Google لا تستطيع تسجيل الدخول في النظام وجعل الصفحة تم تمديدها من صفحة الويب. ولكن الآن عندما أذهب إلى صفحة Branchmap واضغط على Ctrl + F5 الصفحة تنتهي في الصفحة وألضحت إلى الصفحة الرئيسية. لا أحد يعرف السبب؟ إذا كنت تريد المزيد من المعلومات أخبرني أن أضعها.

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

المحلول

ليس بالتأكيد تماما ما تصفه - ليس واضحا تماما، ولكن معرفة ما إذا كان هذا يساعد:

يمكن أن يحدث هذا عندما تسبب بعض مكالمة AJAX في تغيير الصفحة، ولكن تحديث الصفحة المنعشة (التي ليست بوضعية) من عناوين URL التي تشير إلى الإصدار منتهية الصلاحية مما يؤدي هذا الاستثناء. كان لدي هذه المشكلة في نقطة واحدة عندما كان لدينا العديد من iframes المتصلين في تطبيق Wicket الخاص بنا (آسف للتفسير الغامض - لقد كان منذ فترة).

في النهاية، من أجل تطبيقنا، كان علينا تقسيم مصادر IFRAME المختلفة إلى صفحات مختلفة داخل Web.xml - من أجل عزل جلسات الصفحات المختلفة تماما - ولكن هذه قصة أخرى.

حاول إضافة هذا إلى طريقة تطبيق Wicket الخاص بك.

// debug code for fixing session issue (multiple ajax using pages inside
// one browser)
get().getPageSettings().setAutomaticMultiWindowSupport(true);

والتحقق من الوثائق هنا: http://wicket.apache.org/docs/1.4/org/apache/wicket/jmx/pagationsettings.html#etautomaticmultiwindowsupport ()

هل تستطيع إظهار أثر المكدس؟

ما إصدار النصيك الذي تستخدمه؟

كان هناك الكثير من التواصل الآنسي في Javadoc قبل 1.4-RC3 أيضا، مصححة هنا:http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/ipagesettings.java؟r1=647167&r2=68578&perprev=768578&diff_format=h.

القضية هنا: https://issues.apache.org/jira/browse/wicket-2233.

فيما يلي التعليق المحدث في Javadoc من IPagesettings:

/**
 * Gets whether Wicket should try to support opening multiple windows for the same session
 * transparently. If this is true - the default setting -, Wicket tries to detect whether a new
 * window was opened by a user (e.g. in Internet Explorer by pressing ctrl+n or ctrl+click on a
 * link), and if it detects that, it creates a new page map for that window on the fly. As a
 * page map represents the 'history' of one window, each window will then have their own
 * history. If two windows would share the same page map, the non-bookmarkable links on one
 * window could refer to stale state after working a while in the other window.
 * <p>
 * <strong> Currently, Wicket trying to do this is a best effort that is not completely fail
 * safe. When the client does not support cookies, support gets tricky and incomplete. See
 * {@link WebPage}'s internals for the implementation. </strong>
 * </p>
 * 
 * @return Whether Wicket should try to support multiple windows transparently
 */
boolean getAutomaticMultiWindowSupport();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top