package cn.cerc.mis.core;

public class FormQuery {
    
    public static String call(AbstractForm owner, String id, String... pathVariables) throws Exception {
        FormSign sv = new FormSign(id);
        String formId = sv.getId();
        String funcCode = sv.getValue();
        if (!formId.substring(0, 2).toUpperCase().equals(formId.substring(0, 2)))
            formId = formId.substring(0, 1).toLowerCase() + formId.substring(1);
        AbstractForm bean = Application.getContext().getBean(formId, AbstractForm.class);
        bean.setSession(owner.getSession());
        bean.setId(formId);
        bean.setPathVariables(pathVariables);
        return bean._call(funcCode);
    }
    
}

@@ -20,16 +20,137 @@
 .core;%0A%0A
+import java.io.IOException;%0Aimport java.lang.reflect.InvocationTargetException;%0A%0Aimport javax.servlet.ServletException;%0A%0A
 public c
@@ -166,20 +166,16 @@
 Query %7B%0A
-    
 %0A    pub
@@ -256,16 +256,179 @@
 les)
- throws 
+%0A            throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,%0A            InvocationTargetException, ServletException, IO
 Exce
@@ -967,15 +967,11 @@
 ;%0A    %7D%0A
-    
 %0A%7D%0A

Update FormQuery.java