summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfangshunjian <[email protected]>2018-11-23 11:16:51 +0800
committerfangshunjian <[email protected]>2018-11-23 11:16:51 +0800
commitd26010844ab53cd343aab9314b5998a99ecc3fb9 (patch)
tree6bcee7fb41231ee424e379fd5843b93510a1ab0d
parentfa6f40efb58b72e951ba98ff473d265642318c82 (diff)
1、读取 myconfig.properties 改为使用包装类,防止当key不存在时通过getString()获取值时抛出异常
-rw-r--r--src/com/nms/thread/MailingManagerThread.java3
-rw-r--r--src/nis/nms/util/BaseAction.java6
-rw-r--r--src/nis/nms/util/ResourceBundleWrapper.java50
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;
+ }
+
+}