浏览代码

开放 ActionMapping 扩展

James 4 年之前
父节点
当前提交
7bd34a0753
共有 2 个文件被更改,包括 19 次插入1 次删除
  1. 13 0
      src/main/java/com/jfinal/config/Constants.java
  2. 6 1
      src/main/java/com/jfinal/core/JFinal.java

+ 13 - 0
src/main/java/com/jfinal/config/Constants.java

@@ -454,6 +454,19 @@ final public class Constants {
 	public void setToJavaAwtHeadless() {
 		System.setProperty("java.awt.headless", "true");
 	}
+	
+	// ---------
+	
+	// 支持扩展 ActionMapping
+	private java.util.function.Function<Routes, com.jfinal.core.ActionMapping> actionMappingFunc = null;
+	
+	public void setActionMapping(java.util.function.Function<Routes, com.jfinal.core.ActionMapping> func) {
+		this.actionMappingFunc = func;
+	}
+	
+	public java.util.function.Function<Routes, com.jfinal.core.ActionMapping> getActionMappingFunc() {
+		return actionMappingFunc;
+	}
 }
 
 

+ 6 - 1
src/main/java/com/jfinal/core/JFinal.java

@@ -99,7 +99,12 @@ public final class JFinal {
 	}
 	
 	private void initActionMapping() {
-		actionMapping = new ActionMapping(Config.getRoutes());
+		if (constants.getActionMappingFunc() != null) {
+			actionMapping = constants.getActionMappingFunc().apply(Config.getRoutes());
+		} else {
+			actionMapping = new ActionMapping(Config.getRoutes());
+		}
+		
 		actionMapping.buildActionMapping();
 		Config.getRoutes().clear();
 	}