/** Initialise FreeMarker Configuration */
  protected void initConfig() {
    // construct template config
    Configuration config = new Configuration();
    ObjectWrapper objectWrapper = new NonBlockingObjectWrapper();
    config.setObjectWrapper(objectWrapper);
    config.setCacheStorage(new StrongCacheStorage());
    config.setTemplateUpdateDelay(isDebugMode() == false ? updateDelay : 0);
    config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
    config.setLocalizedLookup(false);
    config.setOutputEncoding("UTF-8");
    if (defaultEncoding != null) {
      config.setDefaultEncoding(defaultEncoding);
    }

    config.setIncompatibleImprovements(new Version(2, 3, 20));
    if (getTemplateLoader() != null) {
      config.setTemplateLoader(getTemplateLoader());
    }
    config.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);

    templateConfig = config;

    // construct string config
    stringConfig = new Configuration();
    stringConfig.setObjectWrapper(objectWrapper);
    stringConfig.setCacheStorage(new MruCacheStorage(2, 0));
    stringConfig.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
    stringConfig.setOutputEncoding("UTF-8");
    if (defaultEncoding != null) {
      stringConfig.setDefaultEncoding(defaultEncoding);
    }
    stringConfig.setIncompatibleImprovements(new Version(2, 3, 20));
    stringConfig.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);
  }
 static {
   /* Create and adjust freemarker configuration */
   cfg.setClassForTemplateLoading(
       PropertyClassGenerator.class, "/net/jangaroo/properties/templates");
   cfg.setObjectWrapper(new DefaultObjectWrapper());
   cfg.setOutputEncoding("UTF-8");
 }
Ejemplo n.º 3
0
  /**
   * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
   *
   * @param request servlet request
   * @param response servlet response
   * @throws ServletException if a servlet-specific error occurs
   * @throws IOException if an I/O error occurs
   */
  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException, ClassNotFoundException, SQLException,
          TemplateException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    Configuration c = new Configuration();
    c.setDefaultEncoding("ISO-8859-1"); // setta il decoding della pagina in ingresso
    c.setOutputEncoding("ISO-8859-1"); // in output
    c.setNumberFormat(""); // per i numeri in virgola mobile e non

    c.setObjectWrapper(
        ObjectWrapper.BEANS_WRAPPER); // fa si che se voi passate al template un oggetto
    // viene visto come un associazione chiave valore da usare nel template

    c.setServletContextForTemplateLoading(
        getServletContext(), "templates"); // vatti a caricare questo template in base al contesto c
    c.setTemplateExceptionHandler(
        TemplateExceptionHandler
            .IGNORE_HANDLER); // handler di errori (default:statti zitto) cambia se vuoi debuggare

    // carica il template(il template non si reinderizza senza modellodati!)
    Template t = c.getTemplate("add_invitato.ftl.html");

    Map<String, Object> data = new HashMap<String, Object>();

    if (request.getSession(false) == null) {
      response.sendRedirect("index");
    }
    if (request.getSession(false) != null) {
      data.put("login", 1);
      HttpSession s = request.getSession(false);
      int idtipo = (Integer) s.getAttribute("idtipo");
      String username = (String) s.getAttribute("usersession");
      int idutente = (Integer) s.getAttribute("idutente");
      data.put("username", username);
      DataLayer dl = new DataLayerImpl();
      UtenteDataLayer udl = dl.getUtenteDataLayer(dl.getC());
      Utente utente = udl.readUtente(idutente);
      if (idtipo == 1) {
        data.put("tipo", "1"); // setta pannello admin
      }
      if (idtipo == 2) {
        data.put("tipo", "2"); // setta pannello organizzatore
      }
      String tmp = request.getParameter("id");
      int idevento = Integer.parseInt(tmp);
      InvitatoDataLayer idl = dl.getInvitatoDataLayer(dl.getC());
      List<Invitato> lista = idl.getRubricaAndInvitati(idutente, idevento);
      data.put("invitati", lista);
      data.put("idevento", idevento);
    }
    try {
      t.process(data, response.getWriter());
    } finally {
      out.close();
    }
  }