/** 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"); }
/** * 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(); } }