Package freemarker.ext.servlet
Class AllHttpScopesHashModel
java.lang.Object
freemarker.template.WrappingTemplateModel
freemarker.template.SimpleHash
freemarker.ext.servlet.AllHttpScopesHashModel
- All Implemented Interfaces:
TemplateHashModel
,TemplateHashModelEx
,TemplateHashModelEx2
,TemplateModel
,Serializable
An extension of SimpleHash that looks up keys in the hash, then in the
request, session, and servlet context scopes. Makes "Application", "Session"
and "Request" keys largely obsolete, however we keep them for backward
compatibility (also, "Request" is required for proper operation of JSP
taglibs).
It is on purpose that we didn't override keys and values
methods. That way, only those variables assigned into the hash directly by a
subclass of FreemarkerServlet that overrides
preTemplateProcess) are discovered as "page" variables by the FM
JSP PageContext implementation.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface freemarker.template.TemplateHashModelEx2
TemplateHashModelEx2.KeyValuePair, TemplateHashModelEx2.KeyValuePairIterator
-
Field Summary
Fields inherited from interface freemarker.template.TemplateModel
NOTHING
-
Constructor Summary
ConstructorsConstructorDescriptionAllHttpScopesHashModel
(ObjectWrapper objectWrapper, javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request) Creates a new instance of AllHttpScopesHashModel for handling a single HTTP servlet request. -
Method Summary
Modifier and TypeMethodDescriptionGets a TemplateModel from the hash.void
putUnlistedModel
(String key, TemplateModel model) Stores a model in the hash so that it doesn't show up in keys() and values() methods.Methods inherited from class freemarker.template.SimpleHash
containsKey, copyMap, isEmpty, keys, keyValuePairIterator, put, put, putAll, remove, size, synchronizedWrapper, toMap, toString, values
Methods inherited from class freemarker.template.WrappingTemplateModel
getDefaultObjectWrapper, getObjectWrapper, setDefaultObjectWrapper, setObjectWrapper, wrap
-
Constructor Details
-
AllHttpScopesHashModel
public AllHttpScopesHashModel(ObjectWrapper objectWrapper, javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request) Creates a new instance of AllHttpScopesHashModel for handling a single HTTP servlet request.- Parameters:
objectWrapper
- the object wrapper to use; notnull
.context
- the servlet context of the web applicationrequest
- the HTTP servlet request being processed
-
-
Method Details
-
putUnlistedModel
Stores a model in the hash so that it doesn't show up in keys() and values() methods. Used to put the Application, Session, Request, RequestParameters and JspTaglibs objects.- Parameters:
key
- the key under which the model is storedmodel
- the stored model
-
get
Description copied from interface:TemplateHashModel
Gets a TemplateModel from the hash.- Specified by:
get
in interfaceTemplateHashModel
- Overrides:
get
in classSimpleHash
- Parameters:
key
- the name by which the TemplateModel is identified in the template.- Returns:
- the TemplateModel referred to by the key, or null if not found.
- Throws:
TemplateModelException
-