1 package org.cacert.gigi.pages;
3 import java.io.IOException;
4 import java.util.HashMap;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
9 import org.cacert.gigi.GigiApiException;
10 import org.cacert.gigi.output.template.Form;
12 public class OneFormPage extends Page {
14 Class<? extends Form> c;
16 public OneFormPage(String title, Class<? extends Form> t) {
22 public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
23 return Form.getForm(req, c).submitExceptionProtected(req, resp);
27 public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
28 Form form = Form.getForm(req, c);
29 if (Form.printFormErrors(req, resp.getWriter())) {
30 form.output(resp.getWriter(), getLanguage(req), new HashMap<String, Object>());
35 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
37 c.getConstructor(HttpServletRequest.class).newInstance(req).output(resp.getWriter(), getLanguage(req), new HashMap<String, Object>());
38 } catch (ReflectiveOperationException e) {
39 new GigiApiException().format(resp.getWriter(), getLanguage(req));