That is a very odd looking dataTable. You don't seem to have defined a Model to back it up or a row variable to use as a cursor.
If you attempt to display a table with no rows, I'd expect only a header. Or - since the rich dataTable supports it, the "no data" row - if you've defined it.
Incidentally, use the "Code" button when you want to include formatted text such as
Java sample code or XML. It makes it more readable.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.