This bug is very similar to:
http://issues.apache.org/jira/browse/MYFACES-198, closed due to lack of interest. The solution given in that thread doesn't seem to work.
I'm working with a SVN copy of MyFaces dated on 20-Nov-05.
If I have context parameter org.apache.myfaces.ALLOW_JAVASCRIPT to false, commandLinks seem to be rendered wrong. The following code:
<h:commandLink id="doit" action="#{bb.doIt}" immediate="true" >
<h:outputText value="Do it!" />
</h:commandLink>
becomes something like:
<a .... href=id="A_VERY_LONG_URL">Do It!</a>
what leads to a "page not found" in the browser.
Setting org.apache.myfaces.ALLOW_JAVASCRIPT to "true" solves this problem, because it creates a working javascript-link, so this isn't a showstopper. However, I think this tag should work properly without javascript too.