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 TemplateModelget(java.lang.String key)Gets a TemplateModel from the hash.voidputUnlistedModel(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:TemplateHashModelGets a TemplateModel from the hash.- Specified by:
getin interfaceTemplateHashModel- Overrides:
getin 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
-
-