14
9
| |
add comment |
29
|
Pressing CtrlShiftD should then show a popup window with debug information about the component tree and all available request parameters and request/view/flash/session/application scoped variables. It's basically a representation of the content of all those maps.
The hotkey is by the way configureable by
hotkey attribute so that you can choose another whenever it clashes with browser default hotkeys, as it would do in Firefox; CtrlShiftD would by default show the Add bookmarks dialogue. Here's how you could make it to listen on CtrlShiftX instead:
You'd usually also like to hide it in non-development stage, so add a rendered condition like that:
In the shown debug information, the information provided about scoped variables isn't that great as you would expect. It only shows the
Object#toString() outcome of all scoped variables which defaults tocom.example.Bean@hashcode . You can't explore their properties and the values of their properties directly like as you could do in debug view of Eclipse's debugger. You'd need to implementtoString() on the class accordingly so that as much as possible relevant information is returned (if necessary, you can even let Eclipse autogenerate it by rightclick source code > Source > Generate toString()):
As to method calls, just put a breakpoint on the Java source code the usual way. Eclipse will kick in there as well when EL calls the method. If it's a managed bean, you'll also just see its properties in the Eclipse debugger.
| |||
add comment |
ui:debug
. – mrzasa Dec 6 '11 at 8:09
to work (for a rather sad definition of work) – Thorbjørn Ravn Andersen Apr 3 '12 at 13:28Debug JSF lifecycle
article on your blog. Other than the debugging mechanisms you suggest here and on that article, is it possible to dive into JSF implementation source? I have a problem on my view with the tags. The rendering isn't as expected and I can give no meaning as to why it is the way it is. I was thinking of diving into JSF source. Would it make sense and if it would, would you be able to point me to a resource to get started? – Murat Jan 9 '13 at 9:45encodeAll()
method of the desiredUIComponent
class. – BalusCJan 9 '13 at 10:29