X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2FOneFormPage.java;h=512dad49367aeb126453531ad791f57b350c38df;hb=347c8ebcae546d63b62e90f4260f43bb1ed18be3;hp=e61511dc097c4e8e863bfb02dfa247d151e5943f;hpb=ec24cf6925bb3729a644580ad4a9375d05883c62;p=gigi.git diff --git a/src/org/cacert/gigi/pages/OneFormPage.java b/src/org/cacert/gigi/pages/OneFormPage.java index e61511dc..512dad49 100644 --- a/src/org/cacert/gigi/pages/OneFormPage.java +++ b/src/org/cacert/gigi/pages/OneFormPage.java @@ -9,7 +9,7 @@ import javax.servlet.http.HttpServletResponse; import org.cacert.gigi.GigiApiException; import org.cacert.gigi.output.template.Form; -public abstract class OneFormPage extends Page { +public class OneFormPage extends Page { Class c; @@ -18,16 +18,16 @@ public abstract class OneFormPage extends Page { c = t; } + @Override + public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException { + return Form.getForm(req, c).submitExceptionProtected(req, resp); + } + @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { - try { - Form form = Form.getForm(req, c); - if (form.submit(resp.getWriter(), req)) { - resp.sendRedirect(getSuccessPath(form)); - } - } catch (GigiApiException e) { - e.format(resp.getWriter(), getLanguage(req)); - doGet(req, resp); + Form form = Form.getForm(req, c); + if (Form.printFormErrors(req, resp.getWriter())) { + form.output(resp.getWriter(), getLanguage(req), new HashMap()); } } @@ -36,10 +36,8 @@ public abstract class OneFormPage extends Page { try { c.getConstructor(HttpServletRequest.class).newInstance(req).output(resp.getWriter(), getLanguage(req), new HashMap()); } catch (ReflectiveOperationException e) { - new GigiApiException(e.getMessage()).format(resp.getWriter(), getLanguage(req)); + new GigiApiException().format(resp.getWriter(), getLanguage(req)); } } - public abstract String getSuccessPath(Form f); - }