Class StrutsBeanWrapper
- All Implemented Interfaces:
freemarker.template.ObjectWrapper
,freemarker.template.ObjectWrapperAndUnwrapper
,freemarker.template.utility.ObjectWrapperWithAPISupport
,freemarker.template.utility.RichObjectWrapper
,freemarker.template.utility.WriteProtectable
The StrutsBeanWrapper extends the default FreeMarker BeansWrapper and provides almost no change in functionality, except for how it handles maps. Normally, FreeMarker has two modes of operation: either support for friendly map built-ins (?keys, ?values, etc) but only support for String keys; OR no special built-in support (ie: ?keys returns the methods on the map instead of the keys) but support for String and non-String keys alike. Struts provides an alternative implementation that gives us the best of both worlds.
It is possible that this special behavior may be confusing or can cause problems. Therefore, you can set the struts.freemarker.wrapper.altMap property in struts.properties to false, allowing the normal BeansWrapper logic to take place instead.
-
Nested Class Summary
Nested classes/interfaces inherited from class freemarker.ext.beans.BeansWrapper
freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision, freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput
-
Field Summary
Fields inherited from class freemarker.ext.beans.BeansWrapper
EXPOSE_ALL, EXPOSE_NOTHING, EXPOSE_PROPERTIES_ONLY, EXPOSE_SAFE
Fields inherited from interface freemarker.template.ObjectWrapper
BEANS_WRAPPER, DEFAULT_WRAPPER, SIMPLE_WRAPPER
Fields inherited from interface freemarker.template.ObjectWrapperAndUnwrapper
CANT_UNWRAP_TO_TARGET_CLASS
-
Constructor Summary
ConstructorsConstructorDescriptionStrutsBeanWrapper
(boolean altMapWrapper, freemarker.template.Version incompatibleImprovements) -
Method Summary
Modifier and TypeMethodDescriptionprotected freemarker.ext.util.ModelFactory
getModelFactory
(Class clazz) Methods inherited from class freemarker.ext.beans.BeansWrapper
checkModifiable, clearClassIntrospecitonCache, clearClassIntrospectionCache, coerceBigDecimal, coerceBigDecimals, coerceBigDecimals, finalizeConstruction, finetuneMethodAppearance, getDefaultDateType, getDefaultInstance, getDefaultZeroArgumentNonVoidMethodPolicy, getEnumModels, getExposureLevel, getIncompatibleImprovements, getInstance, getMemberAccessPolicy, getMethodAppearanceFineTuner, getOuterIdentity, getPreferIndexedReadMethod, getRecordZeroArgumentNonVoidMethodPolicy, getStaticModels, getTreatDefaultMethodsAsBeanMembers, getUseCache, invokeMethod, isClassIntrospectionCacheRestricted, isExposeFields, isSimpleMapWrapper, isStrict, isWriteProtected, newInstance, normalizeIncompatibleImprovementsVersion, readField, removeFromClassIntrospectionCache, setDefaultDateType, setDefaultZeroArgumentNonVoidMethodPolicy, setExposeFields, setExposureLevel, setMemberAccessPolicy, setMethodAppearanceFineTuner, setMethodsShadowItems, setNullModel, setOuterIdentity, setPreferIndexedReadMethod, setRecordZeroArgumentNonVoidMethodPolicy, setSimpleMapWrapper, setStrict, setTreatDefaultMethodsAsBeanMembers, setUseCache, toPropertiesString, toString, tryUnwrapTo, unwrap, unwrap, wrap, wrap, wrapAsAPI, writeProtect
-
Constructor Details
-
StrutsBeanWrapper
public StrutsBeanWrapper(boolean altMapWrapper, freemarker.template.Version incompatibleImprovements)
-
-
Method Details
-
getModelFactory
- Overrides:
getModelFactory
in classfreemarker.ext.beans.BeansWrapper
-