I'm pretty sure that this list is going to get expanded very soon :P
"Nothing found to display"
I first saw this message when I tried to test my pagination. The first page worked pretty well, but when I clicked on "next", "prev", "first", "last" or any other page number, I got this mysterious message.
When Display Tag shows "Nothing found to display", it actually means it: it cannot find any data to display. Where did you put it before calling Display Tag?
You probably didn't specify the scope of your list/array/whatever-container-you-used-for-your-data.
Here's how you can tell Display Tag where to get it:
List<MyBean> myData = ..... ; // get your data from somewhere, wrapped into an ArrayList
session.setAttribute("myTable", myTable); //pur your table in the current session
...
<display:table name="sessionScope.myTable" pagesize="25"
sort="list" uid="id" >
[content of your table ...]
</display:table>
As you can see, <display:table name="sessionScope.myTable" > tells Display Tag to retrieve your data from the current session (sessionScope). You can always specify a different scope, if necessary: just choose among pageScope, requestScope (set by default), sessionScope or applicationScope, based on your application needs.
Another situation where you can get a "Nothing found to display" message is when you retrieve your data by sending parameters to a servlet. If you have to write something like:
http://myHost:port/MyContext/Servlet?operation=getData
to obtain your data, then Display Data needs to be informed that there's a servlet to invoke. Here's how to do it:
<display:table name="sessionScope.myTable" pagesize="25"
sort="list" uid="id" requestURI="/Servlet" >
Just replace "/Servlet" with the name of your servlet and you're done!
Column sorting doesn't work correctly
I faced this problem when I tried to put more than one property in a single column, so Display Tag couldn't figure out which of those properties to sort.
A simple solution for this issue is specifying the exact property to be used for sorting, that's called sortProperty.
<display:column title="Column Title" sortable="true" sortProperty="mySortingProperty" >
[content of the column goes here]
</display:column>