diff --git a/pom.xml b/pom.xml
index d2e0079..dd1c0b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cn.cloudowr
sdk
- 1.2.3
+ 1.2.4
diff --git a/src/main/java/cn/cloudowr/sdk/jfinal/Controller.java b/src/main/java/cn/cloudowr/sdk/jfinal/Controller.java
index 690d960..681225f 100644
--- a/src/main/java/cn/cloudowr/sdk/jfinal/Controller.java
+++ b/src/main/java/cn/cloudowr/sdk/jfinal/Controller.java
@@ -9,7 +9,7 @@ import com.jfinal.core.ActionException;
public class Controller extends com.jfinal.core.Controller{
@Override
public void renderError(int errorCode, String msg) {
- throw new ActionException(errorCode, new ErrorRender(errorCode, msg));
+ render(new ErrorRender(errorCode, msg));
}
@Override
diff --git a/src/main/java/cn/cloudowr/sdk/jfinal/ErrorInterceptor.java b/src/main/java/cn/cloudowr/sdk/jfinal/ErrorInterceptor.java
index b401a03..2791fd3 100644
--- a/src/main/java/cn/cloudowr/sdk/jfinal/ErrorInterceptor.java
+++ b/src/main/java/cn/cloudowr/sdk/jfinal/ErrorInterceptor.java
@@ -17,11 +17,16 @@ public class ErrorInterceptor implements Interceptor {
if (e instanceof ActionException) {
ActionException ae = (ActionException) e;
Render render = ae.getErrorRender();
- render.render();
- } else {
- new ErrorRender(500, inv.getController().getResponse()).render();
- throw e;
+ if (render instanceof ErrorRender) {
+ ErrorRender er = (ErrorRender) render;
+ er.setResponse(inv.getController().getResponse());
+ er.render();
+ return;
+ }
}
+ new ErrorRender(500, inv.getController().getResponse()).render();
+ throw e;
+
}
}
}
diff --git a/src/main/java/cn/cloudowr/sdk/jfinal/ErrorRender.java b/src/main/java/cn/cloudowr/sdk/jfinal/ErrorRender.java
index 0a5ba1a..031e782 100644
--- a/src/main/java/cn/cloudowr/sdk/jfinal/ErrorRender.java
+++ b/src/main/java/cn/cloudowr/sdk/jfinal/ErrorRender.java
@@ -65,4 +65,8 @@ public class ErrorRender extends Render {
public void setMsg(String msg) {
this.msg = msg;
}
+
+ public void setResponse(HttpServletResponse response) {
+ this.response = response;
+ }
}
diff --git a/src/main/java/cn/cloudowr/sdk/jfinal/IdInterceptor.java b/src/main/java/cn/cloudowr/sdk/jfinal/IdInterceptor.java
index 435007c..f2a625d 100644
--- a/src/main/java/cn/cloudowr/sdk/jfinal/IdInterceptor.java
+++ b/src/main/java/cn/cloudowr/sdk/jfinal/IdInterceptor.java
@@ -14,7 +14,7 @@ public class IdInterceptor implements Interceptor {
if (id != null && !id.isEmpty()) {
inv.invoke();
} else {
- ((Controller)inv.getController()).renderError(400, "id must not be null");
+ inv.getController().render(new ErrorRender(400, "id must not be null"));
}
}
}