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
,java.io.Serializable
public class AllHttpScopesHashModel extends SimpleHash
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:
- Serialized Form
-
-
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
Constructors Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TemplateModel
get(java.lang.String key)
Gets a TemplateModel from the hash.void
putUnlistedModel(java.lang.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 Detail
-
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 Detail
-
putUnlistedModel
public void putUnlistedModel(java.lang.String key, TemplateModel model)
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
public TemplateModel get(java.lang.String key) throws TemplateModelException
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
-
-