Java Doc for FreemarkerServlet.java in  » Template-Engine » freemarker-2.3.10 » freemarker » ext » servlet » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Template Engine » freemarker 2.3.10 » freemarker.ext.servlet 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


javax.servlet.http.HttpServlet
   freemarker.ext.servlet.FreemarkerServlet

FreemarkerServlet
public class FreemarkerServlet extends HttpServlet (Code)

This is a general-purpose FreeMarker view servlet.

The main features are:

  • It makes all request, request parameters, session, and servlet context attributes available to templates through Request, RequestParameters, Session, and Application variables.
  • The scope variables are also available via automatic scope discovery. That is, writing Application.attrName, Session.attrName, Request.attrName is not mandatory; it's enough to write attrName, and if no such variable was created in the template, it will search the variable in Request, and then in Session, and finally in Application.
  • It creates a variable with name JspTaglibs, that can be used to load JSP taglibs. For example:
    <#assign tiles=JspTaglibs["/WEB-INF/struts-tiles.tld"]>

The servlet will rethrow the errors occurring during template processing, wrapped into ServletException, except if the class name of the class set by the template_exception_handler contains the substring "Debug". If it contains "Debug", then it is assumed that the template exception handler prints the error message to the page, thus FreemarkerServlet will suppress the exception, and logs the problem with the servlet logger (javax.servlet.GenericServlet.log(...)).

Supported init-params are:

  • TemplatePath specifies the location of the templates. By default, this is interpreted as web application directory relative URI.
    Alternatively, you can prepend it with file:// to indicate a literal path in the file system (i.e. file:///var/www/project/templates/). Note that three slashes were used to specify an absolute path.
    Also, you can prepend it with class://path/to/template/package to indicate that you want to load templates from the specified package accessible through the classloader of the servlet.
    Default value is class:// (that is, the root of the class hierarchy). Note that this default is different than the default in FreeMarker 1.x, when it defaulted /, that is to loading from the webapp root directory.
  • NoCache if set to true, generates headers in the response that advise the HTTP client not to cache the returned page. The default is false.
  • ContentType if specified, response uses the specified Content-type HTTP header. The value may include the charset (e.g. "text/html; charset=ISO-8859-1"). If not specified, "text/html" is used. If the charset is not specified in this init-param, then the charset (encoding) of the actual template file will be used (in the response HTTP header and for encoding the output stream). Note that this setting can be overridden on a per-template basis by specifying a custom attribute named content_type in the attributes parameter of the <#ftl> directive.
  • The following init-params are supported only for backward compatibility, and their usage is discouraged: TemplateUpdateInterval, DefaultEncoding, ObjectWrapper, TemplateExceptionHandler. Use setting init-params such as object_wrapper instead.
  • Any other init-param will be interpreted as Configuration level setting. See Configuration.setSetting

author:
   Attila Szegedi
version:
   $Id: FreemarkerServlet.java,v 1.82.2.5 2006/06/21 13:02:01 ddekany Exp $


Field Summary
final public static  StringKEY_APPLICATION
    
final public static  StringKEY_APPLICATION_PRIVATE
    
final public static  StringKEY_JSP_TAGLIBS
    
final public static  StringKEY_REQUEST
    
final public static  StringKEY_REQUEST_PARAMETERS
    
final public static  StringKEY_REQUEST_PRIVATE
    
final public static  StringKEY_SESSION
    
protected  booleandebug
    
final public static  longserialVersionUID
    


Method Summary
protected  ConfigurationcreateConfiguration()
     This method is called from FreemarkerServlet.init() to create the FreeMarker configuration object that this servlet will use for template loading.
protected  TemplateModelcreateModel(ObjectWrapper wrapper, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response)
    
protected  ObjectWrappercreateObjectWrapper()
     This method is called from FreemarkerServlet.init() to create the FreeMarker object wrapper object that this servlet will use for adapting request, session, and servlet context attributes into template models..
protected  HttpRequestParametersHashModelcreateRequestParametersHashModel(HttpServletRequest request)
    
protected  LocalededuceLocale(String templatePath, HttpServletRequest request, HttpServletResponse response)
     Returns the locale used for the Configuration.getTemplate(StringLocale) call. The base implementation simply returns the locale setting of the configuration.
public  voiddoGet(HttpServletRequest request, HttpServletResponse response)
    
public  voiddoPost(HttpServletRequest request, HttpServletResponse response)
    
protected  ConfigurationgetConfiguration()
     Returns the freemarker.template.Configuration object used by this servlet.
protected  ObjectWrappergetObjectWrapper()
    
final protected  StringgetTemplatePath()
    
public  voidinit()
    
protected  voidinitializeServletContext(HttpServletRequest request, HttpServletResponse response)
     Called when servlet detects in a request processing that application-global (that is, ServletContext-specific) attributes are not yet set. This is a generic hook you might use in subclasses to perform a specific action on first request in the context.
protected  voidinitializeSession(HttpServletRequest request, HttpServletResponse response)
     Called when servlet detects in a request processing that session-global (that is, HttpSession-specific) attributes are not yet set. This is a generic hook you might use in subclasses to perform a specific action on first request in the session.
protected  voidpostTemplateProcess(HttpServletRequest request, HttpServletResponse response, Template template, TemplateModel data)
     Called after the execution returns from template.process(). This is a generic hook you might use in subclasses to perform a specific action after the template is processed.
protected  booleanpreTemplateProcess(HttpServletRequest request, HttpServletResponse response, Template template, TemplateModel data)
     Called before the execution is passed to template.process(). This is a generic hook you might use in subclasses to perform a specific action before the template is processed.
protected  booleanpreprocessRequest(HttpServletRequest request, HttpServletResponse response)
     Called as the first step in request processing, before the templating mechanism is put to work.
protected  StringrequestUrlToTemplatePath(HttpServletRequest request)
     Maps the request URL to a template path that is passed to Configuration.getTemplate(StringLocale) .

Field Detail
KEY_APPLICATION
final public static String KEY_APPLICATION(Code)



KEY_APPLICATION_PRIVATE
final public static String KEY_APPLICATION_PRIVATE(Code)



KEY_JSP_TAGLIBS
final public static String KEY_JSP_TAGLIBS(Code)



KEY_REQUEST
final public static String KEY_REQUEST(Code)



KEY_REQUEST_PARAMETERS
final public static String KEY_REQUEST_PARAMETERS(Code)



KEY_REQUEST_PRIVATE
final public static String KEY_REQUEST_PRIVATE(Code)



KEY_SESSION
final public static String KEY_SESSION(Code)



debug
protected boolean debug(Code)



serialVersionUID
final public static long serialVersionUID(Code)





Method Detail
createConfiguration
protected Configuration createConfiguration()(Code)
This method is called from FreemarkerServlet.init() to create the FreeMarker configuration object that this servlet will use for template loading. This is a hook that allows you to custom-configure the configuration object in a subclass. The default implementation returns a new Configuration instance.



createModel
protected TemplateModel createModel(ObjectWrapper wrapper, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response) throws TemplateModelException(Code)



createObjectWrapper
protected ObjectWrapper createObjectWrapper()(Code)
This method is called from FreemarkerServlet.init() to create the FreeMarker object wrapper object that this servlet will use for adapting request, session, and servlet context attributes into template models.. This is a hook that allows you to custom-configure the wrapper object in a subclass. The default implementation returns a wrapper that depends on the value of ObjectWrapper init parameter. If simple is specified, ObjectWrapper.SIMPLE_WRAPPER is used; if jython is specified, freemarker.ext.jython.JythonWrapper is used. In every other case ObjectWrapper.DEFAULT_WRAPPER is used.



createRequestParametersHashModel
protected HttpRequestParametersHashModel createRequestParametersHashModel(HttpServletRequest request)(Code)



deduceLocale
protected Locale deduceLocale(String templatePath, HttpServletRequest request, HttpServletResponse response)(Code)
Returns the locale used for the Configuration.getTemplate(StringLocale) call. The base implementation simply returns the locale setting of the configuration. Override this method to provide different behaviour, i.e. to use the locale indicated in the request.



doGet
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException(Code)



doPost
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException(Code)



getConfiguration
protected Configuration getConfiguration()(Code)
Returns the freemarker.template.Configuration object used by this servlet. Please don't forget that freemarker.template.Configuration is not thread-safe when you modify it.



getObjectWrapper
protected ObjectWrapper getObjectWrapper()(Code)



getTemplatePath
final protected String getTemplatePath()(Code)



init
public void init() throws ServletException(Code)



initializeServletContext
protected void initializeServletContext(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException(Code)
Called when servlet detects in a request processing that application-global (that is, ServletContext-specific) attributes are not yet set. This is a generic hook you might use in subclasses to perform a specific action on first request in the context. By default it does nothing.
Parameters:
  request - the actual HTTP request
Parameters:
  response - the actual HTTP response



initializeSession
protected void initializeSession(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException(Code)
Called when servlet detects in a request processing that session-global (that is, HttpSession-specific) attributes are not yet set. This is a generic hook you might use in subclasses to perform a specific action on first request in the session. By default it does nothing. It is only invoked on newly created sessions; it is not invoked when a replicated session is reinstantiated in another servlet container.
Parameters:
  request - the actual HTTP request
Parameters:
  response - the actual HTTP response



postTemplateProcess
protected void postTemplateProcess(HttpServletRequest request, HttpServletResponse response, Template template, TemplateModel data) throws ServletException, IOException(Code)
Called after the execution returns from template.process(). This is a generic hook you might use in subclasses to perform a specific action after the template is processed. It will be invoked even if the template processing throws an exception. By default does nothing.
Parameters:
  request - the actual HTTP request
Parameters:
  response - the actual HTTP response
Parameters:
  template - the template that was executed
Parameters:
  data - the data that was passed to the template



preTemplateProcess
protected boolean preTemplateProcess(HttpServletRequest request, HttpServletResponse response, Template template, TemplateModel data) throws ServletException, IOException(Code)
Called before the execution is passed to template.process(). This is a generic hook you might use in subclasses to perform a specific action before the template is processed. By default does nothing. A typical action to perform here is to inject application-specific objects into the model root
Parameters:
  request - the actual HTTP request
Parameters:
  response - the actual HTTP response
Parameters:
  template - the template that will get executed
Parameters:
  data - the data that will be passed to the template true to process the template, false to suppress template processing.



preprocessRequest
protected boolean preprocessRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException(Code)
Called as the first step in request processing, before the templating mechanism is put to work. By default does nothing and returns false. This method is typically overridden to manage serving of non-template resources (i.e. images) that reside in the template directory.
Parameters:
  request - the HTTP request
Parameters:
  response - the HTTP response true to indicate this method has processed the request entirely,and that the further request processing should not take place.



requestUrlToTemplatePath
protected String requestUrlToTemplatePath(HttpServletRequest request)(Code)
Maps the request URL to a template path that is passed to Configuration.getTemplate(StringLocale) . You can override it (i.e. to provide advanced rewriting capabilities), but you are strongly encouraged to call the overridden method first, then only modify its return value.
Parameters:
  request - the currently processed request a String representing the template path



Methods inherited from javax.servlet.http.HttpServlet
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
protected void doHead(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
protected void doTrace(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
protected long getLastModified(HttpServletRequest req)(Code)(Java Doc)
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException(Code)(Java Doc)
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.