Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
English |
---|
By using Bean Shell Form Binder, we are able to load and update |
...
our Environment Variable values by using a form. Let's create a form with each Text Field to represent a Environment Variable in our app and set all the field id to the ID of the Environment Variable. |
Thai |
---|
โดยใช้ Bean Binder แบบฟอร์มเราสามารถโหลดและปรับปรุงค่า Environment Variable ของเราโดยใช้แบบฟอร์ม มาสร้างแบบฟอร์มพร้อมฟิลด์ข้อความแต่ละฟิลด์เพื่อเป็นตัวแทนของตัวแปรสภาพแวดล้อมในแอพของเราและตั้งค่า ID ฟิลด์ทั้งหมดเป็น ID ของตัวแปรสภาพแวดล้อม |
Then, click on "Properties" tab then set the "Load Binder" and "Store Binder" in "Advanced" page to "Bean Shell Form Binder".
Thai |
---|
จากนั้นคลิกที่แท็บ "Properties" จากนั้นตั้งค่า "Load Binder" และ "Store Binder" ในหน้า "Advanced" เป็น "Bean Shell Form Binder" |
Warning |
---|
Be advised the following BeanShell codes are not compatible in Joget Cloud multi-tenant environment. |
Using the following script for "Load Binder".
Thai |
---|
การใช้สคริปต์ต่อไปนี้สำหรับ "Load Binder" |
Code Block | ||
---|---|---|
| ||
import java.util.Collection; import org.joget.apps.app.dao.EnvironmentVariableDao; import org.joget.apps.app.model.AppDefinition; import org.joget.apps.app.model.EnvironmentVariable; import org.joget.apps.app.service.AppUtil; import org.joget.apps.form.model.Element; import org.joget.apps.form.model.FormData; import org.joget.apps.form.model.FormRow; import org.joget.apps.form.model.FormRowSet; import org.joget.commons.util.LogUtil; public FormRowSet load(Element element, String primaryKey, FormData formData) { FormRowSet rows = new FormRowSet(); AppDefinition appDef = AppUtil.getCurrentAppDefinition(); if (appDef != null) { EnvironmentVariableDao environmentVariableDao = (EnvironmentVariableDao) AppUtil.getApplicationContext().getBean("environmentVariableDao"); Collection environmentVariableList = environmentVariableDao.getEnvironmentVariableList(null, appDef, null, null, null, null); //loop the result and add to FormRow if (environmentVariableList != null && environmentVariableList.size() > 0) { FormRow r = new FormRow(); for (EnvironmentVariable e : environmentVariableList) { if (e.getValue() != null) { r.setProperty(e.getId(), e.getValue()); } } rows.add(r); } } return rows; } //call load method with injected variable return load(element, primaryKey, formData); |
...
Using the following script for "Store Binder".
Thai |
---|
การใช้สคริปต์ต่อไปนี้สำหรับ "Store Binder" |
Code Block | ||
---|---|---|
| ||
import org.joget.apps.app.dao.EnvironmentVariableDao; import org.joget.apps.app.model.AppDefinition; import org.joget.apps.app.model.EnvironmentVariable; import org.joget.apps.app.service.AppUtil; import org.joget.apps.form.model.Element; import org.joget.apps.form.model.FormData; import org.joget.apps.form.model.FormRow; import org.joget.apps.form.model.FormRowSet; import org.joget.apps.form.model.FormStoreBinder; import org.joget.plugin.base.PluginManager; public FormRowSet store(Element element, FormRowSet rows, FormData formData) { //check the rows is not empty before store it if (rows != null && !rows.isEmpty()) { AppDefinition appDef = AppUtil.getCurrentAppDefinition(); EnvironmentVariableDao environmentVariableDao = (EnvironmentVariableDao) AppUtil.getApplicationContext().getBean("environmentVariableDao"); //Get the submitted data FormRow row = rows.get(0); //Add / Update each Environment Variable for (Object key : row.keySet()) { String envId = (String) key; String value = row.getProperty(envId); if (!envId.isEmpty()){ EnvironmentVariable e = environmentVariableDao.loadById(envId, appDef); if (e != null) { e.setValue(value); environmentVariableDao.update(e); } else { EnvironmentVariable e = new EnvironmentVariable(); e.setAppDefinition(appDef); e.setId(envId); e.setValue(value); environmentVariableDao.add(e); } } } } return rows; } //call store method with injected variable return store(element, rows, formData); |
The resulted form as following.
Thai |
---|
แบบฟอร์มผลลัพธ์ดังต่อไปนี้ |
Sample app for this article can download from APP_update_env-1-20151027104612.jwa.
Thai |
---|
แอปตัวอย่างสำหรับบทความนี้สามารถดาวน์โหลดได้จาก APP_update_env-1-20151027104612.jwa. |