They use javascript and act together, so once one of them has been clicked all of them will ignore subsequent clicks
until a response has been received. Try clicking on them impatiently and you will see that only 1 order is placed.
Tapestry exceptions If you get an exception saying a property "has already been accounted for by the element
at Annotation" then restart JBoss with -Dorg.apache.tapestry.disable-caching=false before using this page.