Link() inside of Table results in Session Expires

I’m using Vaadin 6.7.3

I’m using Link(new ExternalResource(“”)); inside of a Table Row.

When ever I click on the link in Safari 5.1.1, Firefox 7.01, or Chrome 16.0 the file downloads no problem but I get an immediate Session Expires OR Communication Error. I saw in some posts to try using a Label(“<a href=…”) with XHTML… the same results. I don’t want to use any popup windows with “_blank” to get my file, too many problems with PopUp Blockers.

BUT IT WORKS when I put the Link outside of the table row, say just in a window, it works no problem at all. Something’s happening inside of the addGeneratedColumn(…).

Any ideas? How can I download my files from inside of a Table please.


I have a similar problem with addGeneratedColumn in Vaadin 6.7x. Somehow I get “Out-of-sync” when I push a button inside a generated table cell in a table. When the “re-sync” is done it’s possible to push the button and proceed. I tried to recreate the problem in an example project but it doesn’t show there.

Could it be something related? Some sort of button/link problem in table?

Dana, a workaround for my problem was to downgrade to Vaadin 6.6.7. It would be interesting to see if that works for you as well.

Thanks… unfortunately I’m too heavily invested in SQLContainer and TreeTable to downgrade from 6.7.x

I’m going to try some work arounds of selecting the row in the table, and generate the link outside the table from the selection. Not ideal because they have to do two clicks to download the file instead of just one. This hopefully will be my temporary quick fix until something more permanent can be figured out.


Figured out my Communication Error when clicking on a Link in a table… The error occurs because I have a Layout Click Listener. When I click on the Link to download my file, the Layout Click Listener is fired but the browser window is not on the App. Hence the Communication Error. This happens with Any Link on the layout trying to download a file.

I removed my Layout Click Listener.