You are using bare JSF in a portal environment.
The ids given to each object while rendering DOM (forms,a) are the same at the client side.
You may want to try <portlet:namespace/> from <%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
Ok, and how can I use the namespace in this JSF code ?
The h:commandLink doesn't accept any id.