Dalam dua artikel pertama, kami telah memperkenalkan metode kultur konfigurasi nol DWR dan metode back-end front-end. Saya percaya semua orang harus mahir di dalamnya. Mari kita membahas bagaimana back-end memanggil metode JS front-end secara terbalik;
Seperti yang disebutkan dalam dua artikel sebelumnya, dua komponen layanan terdaftar dengan DWR, satu jauh, dan yang lainnya adalah pengontrol yang digunakan oleh halaman. Remote ini akan dipanggil segera setelah halaman dimuat, yang memungkinkan sesi dan skrip halaman untuk membangun hubungan yang mengikat, sehingga kita dapat menggunakan skrip -skripnya untuk dorongan arah halaman nanti;
Berikut ini adalah metode untuk membuat scriptSession sesi dan halaman (halaman akan dipanggil saat dimuat):
ScriptSession ScriptSession = WebContextFactory.get (). GetScriptSession (); String jSessionId = ScriptSession.getHttpSessionId (); String dwrSessionId = scriptSession.getId (); Logger.info (string.format ("set jSessionId = [%s], dwrSession = [%s] dorong diaktifkan", jSessionId, dwrSessionId)); ConstantCacheservice.putCacheconstant (constants.push_id+jSessionId, dwrSessionId);Berikut ini adalah metode layanan yang digunakan untuk secara terbalik menghubungi front-end:
@Service ("DWRREVERSEADAXSERVICE") Kelas Publik DWRREVERSEADAXService {private static final Logger Logger = LoggerFactory.getLogger (dwrreverseAxservice.class); public void directwremotingwithsession (httpppppppppppppppsesi, final functionNOX) {httppppppppppppession, {httppppppsesion, Sesi tidak bisa null! "); Skrip string finalSessionId = constantCacheservice.getCacheconstantValue (constants.push_id + session.getId ()); logger.info (" [dwr Sesi ID] = " + skripsessionD +" [nama fungsi skrip] = " + functionName); browser. {ScriptSessions.AddfunctionCall (functionName, "");}});}}Layanan ini menggunakan ScriptSessionID untuk posisi terbalik dan mendorong, dan ScriptSessionID ini menggunakan pasangan peta global yang disimpan ketika kami pertama kali memuat halaman;
Cukup gunakan kacang layanan terdaftar saat Anda ingin menyebutnya. Parameter yang dilewati adalah httpsession dan nama fungsi front-end yang ingin Anda hubungi. Pada saat yang sama, perhatikan bahwa fungsi JS ada pada halaman saat ini, dan metode di JS dari halaman utama dapat diakses, jika tidak front-end akan mendorong kesalahan metode ini yang tidak terdefinisi;
Di atas adalah aplikasi DWR yang sederhana. Ini murni saat pertama kali saya menggunakannya. Jika ada yang salah, tolong perbaiki saya. Saya bersyukur! Tuhan, tolong float dengan ~~~~~;