That's a non-JSF way to handle a common
JSF problem. JSF, as originally designed, didn't pass parameters around between pages, it passed them around in the backing beans. And the ui:repeat looping construct didn't exist, so generally, you'd use a h:dataTable, which has the necessary mechanisms.
I'm sceptical of any sample URL that has an ".xhtml" extension, however. Normally, you'd have webapp
resources with .xhtml as the extension, but the webapp
URL would be something like "x.jsf".