X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2FOneFormPage.java;h=512dad49367aeb126453531ad791f57b350c38df;hb=347c8ebcae546d63b62e90f4260f43bb1ed18be3;hp=71faa43f288879887a1795118cb93f6fd2a43d1b;hpb=4f60523bbf9ad5035a655c5089be79bcf9413598;p=gigi.git diff --git a/src/org/cacert/gigi/pages/OneFormPage.java b/src/org/cacert/gigi/pages/OneFormPage.java index 71faa43f..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,15 +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)); + Form form = Form.getForm(req, c); + if (Form.printFormErrors(req, resp.getWriter())) { + form.output(resp.getWriter(), getLanguage(req), new HashMap()); } } @@ -35,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); - }