Part of the job of the <ui:debug>
tag is to display the contents of all the various JSF scopes including the "flash scope". DevTools.writeVariables
is a helper function that is used to turn the objects in the scopes into something readable to display in the debug page. It uses methods like toString()
to display the objects. The object that was stored in the flash, overrode the toString()
method with the following boilerplate code
@Override
public String toString() {
//TODO: Supply implementation
return null
}
Since the toString()
was returning null, it later caused a NullPointerException
. If you properly implement toString()
, this error will not occur.