public class DebuggingInterceptor extends AbstractInterceptor
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.browser
Shows field values of an object specified in the
object
parameter (#context by default). When the object
parameters is set, the '#' character needs to be escaped to '%23'. Like
debug=browser&object=%23parametersExample:
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.
Constructor and Description |
---|
DebuggingInterceptor() |
Modifier and Type | Method and Description |
---|---|
String |
intercept(ActionInvocation inv)
Override to handle interception
|
protected void |
printContext()
Prints the current context to the response in XML format.
|
protected void |
printContext(PrettyPrintWriter writer)
Prints the current request to the existing writer.
|
protected void |
serializeIt(Object bean,
String name,
PrettyPrintWriter writer,
List<Object> stack)
Recursive function to serialize objects to XML.
|
void |
setDevMode(String mode) |
void |
setEnableXmlWithConsole(boolean enableXmlWithConsole) |
void |
setFreemarkerManager(FreemarkerManager mgr) |
void |
setReflectionProvider(ReflectionProvider reflectionProvider) |
destroy, init
public void setDevMode(String mode)
public void setFreemarkerManager(FreemarkerManager mgr)
public void setReflectionProvider(ReflectionProvider reflectionProvider)
public String intercept(ActionInvocation inv) throws Exception
AbstractInterceptor
intercept
in interface Interceptor
intercept
in class AbstractInterceptor
inv
- the action invocationActionInvocation.invoke()
, or from the interceptor itself.Exception
- any system-level error, as defined in Action.execute()
.protected void printContext()
protected void printContext(PrettyPrintWriter writer)
writer
- The XML writerprotected void serializeIt(Object bean, String name, PrettyPrintWriter writer, List<Object> stack)
bean
- The object you want serialized.name
- The name of the object, used for element <name/>writer
- The XML writerstack
- List of objects we're serializing since the first calling
of this function (to prevent looping on circular references).public void setEnableXmlWithConsole(boolean enableXmlWithConsole)
enableXmlWithConsole
- the enableXmlWithConsole to setCopyright © 2000–2020 Apache Software Foundation. All rights reserved.