ในสองบทความแรกเราได้แนะนำวิธีการของวัฒนธรรมการกำหนดค่า DWR Zero และวิธีการเรียกกลับส่วนหน้า ฉันเชื่อว่าทุกคนควรมีความเชี่ยวชาญในเรื่องนี้ ส่วนใหญ่มาพูดคุยกันว่า back-end เรียกวิธีการ js front-end ในสิ่งที่ตรงกันข้ามอย่างไร
ดังที่ได้กล่าวไว้ในบทความสองบทความก่อนหน้านี้มีสององค์ประกอบบริการที่ลงทะเบียนกับ DWR หนึ่งรีโมตและอีกส่วนหนึ่งคือคอนโทรลเลอร์ที่ใช้โดยหน้า ระยะไกลนี้จะถูกเรียกทันทีที่โหลดหน้าเว็บซึ่งอนุญาตให้เซสชันและสคริปต์หน้าเพื่อสร้างความสัมพันธ์ที่มีผลผูกพันเพื่อให้เราสามารถใช้สคริปต์ของมันสำหรับการผลักดันทิศทางหน้าในภายหลัง;
ต่อไปนี้เป็นวิธีการสร้างเซสชันและสคริปต์หน้า (หน้าจะถูกเรียกเมื่อโหลด):
สคริปต์สคริปต์ = webContextFactory.get (). getScriptsession (); สตริง jsessionId = scriptsession.gethttpsessionId (); String dwrsessionId = scriptsession.getId (); logger.info (string.format ("set jsessionid = [%s], dwrsession = [%s] เปิดใช้งาน", jsessionid, dwrsessionid)); ConstantCacheservice.putCacheConstant (ค่าคงที่ PUSH_ID+JSESSIONID, DWRSESSIONID);ต่อไปนี้เป็นวิธีการบริการที่ใช้ในการเรียกย้อนกลับด้านหน้า:
@Service ("DWRREVERSEAJAXSERVICE") คลาสสาธารณะ DWRREVERSEAJAXSERVICE {Logger Logger สุดท้ายคงที่ = LoggerFactory.getLogger (dwrreverseajaxservice.class) ไม่เป็นโมฆะ! "); สคริปต์สตริงสุดท้าย = ConstantCacheservice.getCacheConstantValue (ค่าคงที่ push_id + เซสชัน. getId ()); logger.info (" [dwr เซสชัน id] = " + scriptessionid +" [ฟังก์ชั่นสคริปต์] = "ฟังก์ชั่น) {scriptsessions.addfunctioncall (functionName, "");}});}}บริการนี้ใช้ ScriptSessionID สำหรับการวางตำแหน่งย้อนกลับและการผลักดันและสคริปต์นี้ใช้คู่แผนที่ส่วนกลางที่บันทึกไว้เมื่อเราโหลดหน้าเว็บเป็นครั้งแรก
เพียงใช้ถั่วบริการที่ลงทะเบียนเมื่อคุณต้องการเรียกมัน พารามิเตอร์ที่ส่งผ่านคือ httpsession และชื่อ funciton front-end ที่คุณต้องการโทร ในเวลาเดียวกันโปรดทราบว่าฟังก์ชั่น JS มีอยู่ในหน้าปัจจุบันและวิธีการใน JS ของหน้าหลักสามารถเข้าถึงได้มิฉะนั้นส่วนหน้าจะแจ้งข้อผิดพลาดของวิธีนี้ที่ไม่ได้กำหนดไว้
ข้างต้นเป็นแอปพลิเคชันที่ง่ายของ DWR เป็นครั้งแรกที่ฉันใช้มันอย่างหมดจด หากมีอะไรผิดปกติโปรดแก้ไขฉัน ฉันรู้สึกขอบคุณ! พระเจ้าโปรดลอยโดย ~~~~~;