Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ในบทเรียนนี้ เราติดตามได้ที่ guideline for developing a plugin เพื่อพัฒนาปลั๊กอิน JDBC Options Binder ของเรา. โปรดอ้างอิงถึงบทเรียน How to develop a Bean Shell Hash Variable สำหรับรายละเอียดเพิ่มเติม

1. ปัญหาคืออะไร?

บางครั้ง, we may need to write some custom query to populate the options for our multi options field.บางครั้งเราต้องการเขียนกำหนด query เพื่อเพิ่มตัวเลือกสำหรับฟิลด์ตัวเลือกของเรา

2.

...

ความคิดของคุณในการแก้ปัญหาคืออะไร?

Joget Workflow ได้จัดเตรียมประเภทปลั๊กอินที่เรียกว่า Form Options Binder Plugin. We will develop one to support JDBC connection and custom เราจะพัฒนาปลั๊กอินเพื่อสนับสนุนการเชื่อมต่อ JDBC และการกำหนด query.

3. อินพุตที่จำเป็นสำหรับปลั๊กอินของคุณคืออะไร?

To develop a เพื่อการพัฒนาปลั๊กอิน JDBC Options binder , we will need the JDBC connection setting and also the custom query to populate the options.เราจะต้องตั้งค่าการเชื่อต่อ JDBC และนอกจากนี้ต้องกำหนด query เพื่อเพิ่มตัวเลือก

  1. Datasource: การใช้แหล่งข้อมูลที่กำหนดเองหรือแหล่งข้อมูลเริ่มต้นของ Joget
  2. Custom JDBC Driver: ไดรเวอร์ JDBC สำหรับแหล่งข้อมูลที่กำหนดเอง
  3. Custom JDBC URL: URL การเชื่อมต่อ JDBC สำหรับแหล่งข้อมูลที่กำหนดเอง
  4. Custom JDBC Username: ชื่อผู้ใช้สำหรับแหล่งข้อมูลที่กำหนดเอง
  5. Custom JDBC Password: รหัสผ่านสำหรับแหล่งข้อมูลที่กำหนดเอง
  6. SQL Query: The query to populate options. เพื่อเพิ่มตัวเลือก 
  7. Use Ajax: ช่องทำเครื่องหมายเพื่อตัดสินใจว่าจะใช้ AJAX เพื่อโหลดตัวเลือกหรือไม่ (สำหรับ AJAX Cascading Drop-Down List)

The query should also support a syntax to inject dependency values when using query ควรสนับสนุนค่าอ้างอิงเมื่อใช้ AJAX.

ตัวอย่าง:

  1. SELECT id, name from app_fd_sample where group = ?
  2. SELECT id, name from app_fd_sample where group in (?)

...

เราสามารถอ้างถึงการดำเนินการของอื่น ๆ ที่มีอยู่ Form Options Binder plugins. แหล่งข้อมูลเริ่มต้นของ Joget สามารถเรียกดูได้ AppUtil.getApplicationContext().getBean("setupDataSource").

6.

...

เตรียม environment ของคุณเพื่อการพัฒนา

เราจำเป็นต้องให้ซอร์สโค้ด Joget Workflow ของเราพร้อมและสร้างโดยทำตาม this guideline

...

เปิดโครงการ maven ด้วย IDE ที่คุณโปรดปราน เราแนะนำให้ใช้ NetBeans.  

7. เริ่มโค้ด!

a.

...

 การขยาย abstract class

...

ของประเภทปลั๊กอิน

สร้างคลาส "JdbcOptionsBinder" ภายใต้ "org.joget.tutorial" package. จากนั้น extend the class with org.joget.apps.form.model.FormBinder abstract class.

To make it work as a เพื่อให้ Form Options Binder , we will need to implement ทำงาน เราจะต้องติดต่อกับ org.joget.apps.form.model.FormLoadOptionsBinder interface. We would like to support เราต้องการสนันสนุน AJAX Cascading Drop-Down List as well, so we need to implement  เป็นอย่างดี ดังนั้เราต้องติดต่อกับ org.joget.apps.form.model.FormAjaxOptionsBinder interface also. ด้วย 

โปรดอ้างอิงถึง Form Options Binder Plugin.

b.

...

 การดำเนินการของ abstract methods ทั้งหมด

เช่นเคยเราจะต้องใช้ abstract methods ทั้งหมด เราจะใช้ AppPluginUtil.getMessage method ในการสนับสนุน i18n และใช้ตัวแปรคงที่ MESSAGE_PATH สำหรับ message resource bundle directory.

...