diff options
| author | fangshunjian <[email protected]> | 2018-11-23 11:16:51 +0800 |
|---|---|---|
| committer | fangshunjian <[email protected]> | 2018-11-23 11:16:51 +0800 |
| commit | d26010844ab53cd343aab9314b5998a99ecc3fb9 (patch) | |
| tree | 6bcee7fb41231ee424e379fd5843b93510a1ab0d | |
| parent | fa6f40efb58b72e951ba98ff473d265642318c82 (diff) | |
1、读取 myconfig.properties 改为使用包装类,防止当key不存在时通过getString()获取值时抛出异常
| -rw-r--r-- | src/com/nms/thread/MailingManagerThread.java | 3 | ||||
| -rw-r--r-- | src/nis/nms/util/BaseAction.java | 6 | ||||
| -rw-r--r-- | src/nis/nms/util/ResourceBundleWrapper.java | 50 |
3 files changed, 55 insertions, 4 deletions
diff --git a/src/com/nms/thread/MailingManagerThread.java b/src/com/nms/thread/MailingManagerThread.java index 3090d81..6a3d493 100644 --- a/src/com/nms/thread/MailingManagerThread.java +++ b/src/com/nms/thread/MailingManagerThread.java @@ -6,6 +6,7 @@ import java.util.concurrent.Future; import nis.nms.util.BaseAction; import nis.nms.util.ConnectionOracle; +import nis.nms.util.ResourceBundleWrapper; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -44,7 +45,7 @@ public class MailingManagerThread implements Runnable{ } } - ResourceBundle rb = BaseAction.rb; + ResourceBundleWrapper rb = BaseAction.rb; String address = rb.getString("email.address"); String userName = rb.getString("email.userName"); String password = rb.getString("email.password"); diff --git a/src/nis/nms/util/BaseAction.java b/src/nis/nms/util/BaseAction.java index 31ddbe5..70e6f1b 100644 --- a/src/nis/nms/util/BaseAction.java +++ b/src/nis/nms/util/BaseAction.java @@ -249,7 +249,7 @@ public abstract class BaseAction extends ActionSupport implements Serializable // private CommonService commonService; private static final long serialVersionUID = 7414962517552053966L; - public static ResourceBundle rb = ResourceBundle.getBundle("myconfig"); + public static ResourceBundleWrapper rb = new ResourceBundleWrapper(ResourceBundle.getBundle("myconfig")); private String downLoadPath;//下载文件路径 @@ -1897,11 +1897,11 @@ public abstract class BaseAction extends ActionSupport implements Serializable public void setDownLoadPath(String downLoadPath) { this.downLoadPath = downLoadPath; } - public static ResourceBundle getRb() { + public static ResourceBundleWrapper getRb() { return rb; } public static void setRb(ResourceBundle rb) { - BaseAction.rb = rb; + BaseAction.rb = new ResourceBundleWrapper(rb); } public String getPrevPageUrl() { diff --git a/src/nis/nms/util/ResourceBundleWrapper.java b/src/nis/nms/util/ResourceBundleWrapper.java new file mode 100644 index 0000000..10a197a --- /dev/null +++ b/src/nis/nms/util/ResourceBundleWrapper.java @@ -0,0 +1,50 @@ +package nis.nms.util;
+
+import java.util.ResourceBundle;
+/**
+ * ResourceBundle包装类
+ * 解决:当配置文件没有key时抛出异常的的问题
+ * @author fang
+ *
+ */
+public class ResourceBundleWrapper {
+ private ResourceBundle rb;
+ public ResourceBundleWrapper(ResourceBundle rb) {
+ this.rb = rb;
+ }
+
+ /**
+ * 当配置文件中没有配置key时,返回 null
+ * @param key
+ * @return
+ */
+ public String getString(String key){
+ return getString(key, null);
+ }
+
+ /**
+ * 当配置文件中没有key时,返回 def 默认值
+ * @param key
+ * @param def
+ * @return
+ */
+ public String getString(String key,String def){
+ if(rb.containsKey(key)){
+ return rb.getString(key);
+ }
+ return def;
+ }
+
+
+ public boolean containsKey(String key){
+ return rb.containsKey(key);
+ }
+
+ public ResourceBundle getRb() {
+ return rb;
+ }
+ public void setRb(ResourceBundle rb) {
+ this.rb = rb;
+ }
+
+}
|
