I'm expeciencing something wierd with the Struts application I'm tasked to take care off. The Struts version in use is 1.2.4, I use Eclipse 3.2.1 with a few plugins (StrutsIDE might be iof interest here) for developing. The application is hosted by Tomcat 5.0.29 locally during development and by Websphere 6.0 in production. The problem described below happens regardless of the server.
We have a JSP to show something like a tree structure to the user: the user is presented a "list" with the tree's root at the top followed by the children. The JSP walks through a list with <c:foreach> and prints out the elements. Internally, this list is generated by a DB access and some sorting to get it properly ordered (the root is the first element, followed by a child with it's possible children etc. (a "drawing" is at the end of the post).
The problem now occuring is: a single children is listed twice (I can see it in the generated page's source). I checked the internal list generated to see if the element exists twice there as well before the list is put into the request, but it doesn't, there is only one occurence of it.
Now, is there a way to debug the things happening between the forwarding and the finished output? I set a breakpoint in the JSP for the output page and it stops there without showing the source. I can access the variable, though, and I can see that the list has TWO occurences now. Anyideas what could cause this or how I can locate the problem?
A -B -B <- this is the duplicate of the one directly above -B -C -C -B [ February 02, 2007: Message edited by: Mike Himstead ]
Are you sure it is not a SQL query issue? Are you using joins?
I only ask because I have seen this issue before and it is usually a SQL issue, try running the sql by itself and see what you get.
Joined: Apr 12, 2006
Well, I can see the list within the action that ultimately forwards to the jsp showing the bug. I can debug the action and I can see the list's content: no double elements.
Joined: Apr 12, 2006
Duh, I didn't look close enough. It seems to be a problem connected with the persistence layer (Hibernate 2.1.8), not the view. It's a Criteria query that returns the faulty results (there are 27 results to be returned, two of them are returned two times).
LogiHiberateConsts.COL_WERKSTRUKTUR_WERKID contains the column name. werkIds contains one element only (it could contain more, of course).
I haven't fully understood Criteria yet, but after a first glance I can't spot a smoking gun here.
The generated query looks like this:
@ Moderators will you move the thread or do you want me to repost at the appropriate forum?
[ February 05, 2007: Message edited by: Mike Himstead ] [ February 05, 2007: Message edited by: Mike Himstead ]