Class DebuggingInterceptor
java.lang.Object
org.apache.struts2.interceptor.AbstractInterceptor
org.apache.struts2.interceptor.debugging.DebuggingInterceptor
- All Implemented Interfaces:
- Serializable,- ConditionalInterceptor,- Interceptor
Provides several different debugging screens to provide insight into the data behind the page.
The value of the 'debug' request parameter determines the screen:
-  xml- Dumps the parameters, context, session, and value stack as an XML document.
-  console- Shows a popup 'OGNL Console' that allows the user to test OGNL expressions against the value stack. The XML data from the 'xml' mode is inserted at the top of the page.
-  command- Tests an OGNL expression and returns the string result. Only used by the OGNL console.
- browserShows field values of an object specified in the- objectparameter (action by default). When the- objectparameters is set, the '#' character needs to be escaped to '%23'. Like debug=browser&object=%23parameters
Example:
http://localhost:8080/Welcome.action?debug=xmlThis interceptor only is activated when devMode is enabled in struts.properties. The 'debug' parameter is removed from the parameter list before the action is executed. All operations occur before the natural Result has a chance to execute.
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionOverride to handle interceptionprotected voidPrints the current context to the response in XML format.protected voidprintContext(PrettyPrintWriter writer) Prints the current request to the existing writer.protected voidserializeIt(Object bean, String name, PrettyPrintWriter writer, List<Object> stack) Recursive function to serialize objects to XML.voidsetDevMode(String mode) voidsetEnableXmlWithConsole(boolean enableXmlWithConsole) voidvoidsetReflectionProvider(ReflectionProvider reflectionProvider) Methods inherited from class org.apache.struts2.interceptor.AbstractInterceptordestroy, init, setDisabled, shouldIntercept
- 
Constructor Details- 
DebuggingInterceptorpublic DebuggingInterceptor()
 
- 
- 
Method Details- 
setDevMode
- 
setFreemarkerManager
- 
setReflectionProvider
- 
interceptDescription copied from class:AbstractInterceptorOverride to handle interception- Specified by:
- interceptin interface- Interceptor
- Specified by:
- interceptin class- AbstractInterceptor
- Parameters:
- inv- the action invocation
- Returns:
- the return code, either returned from ActionInvocation.invoke(), or from the interceptor itself.
- Throws:
- Exception- any system-level error, as defined in- Action.execute().
 
- 
printContextprotected void printContext()Prints the current context to the response in XML format.
- 
printContextPrints the current request to the existing writer.- Parameters:
- writer- The XML writer
 
- 
serializeItRecursive function to serialize objects to XML. Currently it will serialize Collections, maps, Arrays, and JavaBeans. It maintains a stack of objects serialized already in the current function call. This is used to avoid looping (stack overflow) of circular linked objects. Struts and XWork objects are ignored.- Parameters:
- bean- The object you want serialized.
- name- The name of the object, used for element <name/>
- writer- The XML writer
- stack- List of objects we're serializing since the first calling of this function (to prevent looping on circular references).
 
- 
setEnableXmlWithConsolepublic void setEnableXmlWithConsole(boolean enableXmlWithConsole) - Parameters:
- enableXmlWithConsole- the enableXmlWithConsole to set
 
 
-