jfinalQ開發教程05-qiao-util.jar:常量和配置檔案
阿新 • • 發佈:2018-11-01
常量
資料字典
相信每個系統不可避免的都會使用常量,而對應的在資料庫中則以資料字典的方式記錄。
常量檔案
jfinalQ中src下contants.properties為常量對應的檔案,內容如下:
這裡可以採用key-value的形式記錄常量,
key可以用前兩位為功能,中兩位為模組,後兩位為實際值的方式記錄。
QContants
jfinalQ中com.uikoo9.z下的QContants是於常量檔案對應的程式碼:
public class QContants { // 是,否 public static final String YESNO_YES = "000101"; public static final String YESNO_NO = "000102"; public static final String[] YESNO = new String[]{YESNO_YES,YESNO_NO}; }
com.uikoo9.util.plugin.contants
QContantsModel.java:
public class QContantsModel {
private String value;
private String text;
}
一個簡單的bean,getter和setter省略了。
QContantsUtil.java:
public class QContantsUtil { private static final Properties CONTANTS = QPropertiesUtil.readProperties("/contants.properties"); public static List<QContantsModel> list(String[] values){ List<QContantsModel> list = new ArrayList<QContantsModel>(); if(values != null){ for(String value : values){ list.add(new QContantsModel(value, get(value))); } } return list; } public static String get(String key){ return CONTANTS.getProperty(key); } }
讀取常量檔案中的某一型別列表,在freemarker的頁面中需要使用到。
使用
list-後臺:後臺將常量中的某一系列程式碼設定進去:
/** * 跳轉到搜尋頁 */ public void search(){ setAttr("yesnos", QContantsUtil.list(QContants.YESNO)); setAttr("usertypes", QContantsUtil.list(QContants.USER_TYPE)); render("/WEB-INF/view/manage/ucenter/ucenter-user-search.html"); }
list-前臺:對應的前臺就可以獲取到這個list:
<@bsradios name='row.ucenter_user_mail_confirm' ck='000102' list=yesnos/>
get-前臺:還有一種情況是從資料庫中取出資料字典,例如000101,要顯示對應的常量“是”,這個時候頁面可以這樣寫:
<td>${static.get(row.ucenter_user_type)}</td>
get-static:上面的static是從後臺注入到freemarker中的一個工具類,
controller.setAttr("static", QFreemarkerUtil.getStaticClass("com.uikoo9.util.external.QStaticUtil"));
也就是利用之前的全域性攔截器QIntercepter,將static變數注入,注入的是上面講到的QContantsUtil的get方法。
配置檔案
config.properties:jfinalQ中的配置檔案都儲存在config.properties中
com.uikoo9.util.core.file.QPropertiesUtil對操作配置檔案做了封裝,如下:
/**
* 資源工具類<br>
* 1.讀取jar包路徑<br>
* 2.讀取配置檔案<br>
* 3.獲取配置檔案中的屬性<br>
* 4.獲取配置檔案中的屬性,返回boolean值<br>
* @author qiaowenbin
* @version 0.0.2.20141220
* @history
* 0.0.2.20141220<br>
* 0.0.1.20141117<br>
*/
public class QPropertiesUtil {}
預設載入了config.properties檔案,使用示例:
String url = QPropertiesUtil.get("sms.url");
jfinalQ2.0
原始碼:https://github.com/uikoo9/jfinalQ
更多精彩內容:http://uikoo9.com/
求打賞(長按圖片即可識別)~ |
捐助列表:http://uikoo9.com/donate/ |