1. 程式人生 > >jfinalQ開發教程05-qiao-util.jar:常量和配置檔案

jfinalQ開發教程05-qiao-util.jar:常量和配置檔案

99miles-wordie-book-icon5-800x600_1x.png

常量

資料字典

相信每個系統不可避免的都會使用常量,而對應的在資料庫中則以資料字典的方式記錄。


常量檔案

jfinalQ中src下contants.properties為常量對應的檔案,內容如下:

1.png

這裡可以採用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

官網:http://uikoo9.com/jfinalQ

原始碼:https://github.com/uikoo9/jfinalQ


更多精彩內容:http://uikoo9.com/


求打賞(長按圖片即可識別)~
微信 捐助列表:http://uikoo9.com/donate/