ajax - jsf example



كيفية إعادة توجيه من ماناجيدبان عندما يكون الطلب المرسل هو طلب أجاكس؟ (2)

أنا باستخدام بريمفاسس مع JSF2. أحاول مصادقة المستخدم عن طريق إرسال تسجيل الدخول وكلمة المرور كطلب أجاكس. وفي طريقة عمل حافظة الدعم، أحاول التحقق من صحة المستخدم وإعادة توجيه إلى طريقة عرض جديدة إذا نجحت عملية التحقق.

هل هذا ممكن أثناء استخدام بريميفاسس؟

لأنني أعتقد مع بريميفاسس 'ق p:commandButton ، لا أستطيع إلا أن يكون سلوك أجاكس أو الملاحة.

https://src-bin.com


Answer #1

نعم، فقط أرسل إعادة توجيه بدلا من (افتراضي) إلى الأمام كنتيجة. <navigation-case> كيس <navigation-case> بدون طريقة جسف 2.0 سيتم إلحاقها ?faces-redirect=true فاسيس <navigation-case> ريديريكت = ترو إلى سلسلة النتائج في أسلوب الإجراء.

على سبيل المثال

public String login() {
    // ...
    return "home?faces-redirect=true";
}

Answer #2

هنا طريقة أخرى قد تجدها مفيدة. هذا عند استدعاء الأسلوب عبر أجاكس من سمة بريميفاسس التي لا تنفذ التنقل. على سبيل المثال، لدي أب: كائن شجرة مع الأسلوب المحدد بواسطة نودسلكتيونليستينر.

في هذه الطريقة، يمكنك استدعاء إعادة توجيه مثل هذا:

String url = (something)
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
try {
        ec.redirect(url);
} catch (IOException ex) {
        Logger.getLogger(Navigation.class.getName()).log(Level.SEVERE, null, ex);
}

آمل أن تجد هذه مفيدة.





managed-bean