Originally posted by Harry Kirsten: Hi Ranchers, I am facing on issue when using h:commandLink with my Login page. <h:form> ...... <td class="login-lbl login-lbl-pad" align="left"> <h:outputText id="outputTextUserNameId" value="#{bundle.userName}" styleClass="login-lbl login-lbl-pad"> </h:outputText> </td> <td class="login-lbl-pad" align="left"> <h:panelGroup> <h:inputText id="inputTextUserNameId" value="#{authenticateAction.userName}" styleClass="login-lbl login-lbl-pad" size="15" required="true"> </h:inputText> <h:message for="inputTextUserNameId" styleClass="errorStyle" /> </h:panelGroup> </td> </tr> <tr> <td class="login-lbl" align="left"> <h:outputText id="outputTextPasswordId" value="#{bundle.password}" styleClass="login-lbl"> </h:outputText> </td> <td class="login-lbl-pad" align="left"> <h:panelGroup> <h:inputSecret id="inputSecretPasswordId" value="#{authenticateAction.password}" styleClass="login-lbl login-lbl-pad" redisplay="false" size="15" required="true"> </h:inputSecret> <h:message for="inputSecretPasswordId" styleClass="errorStyle" /> </h:panelGroup> </td> </tr> <tr> <td> </td> <td align="left"> <h:commandButton id="commandButtonLoginId" action="#{authenticateAction.authenticate}" styleClass="frm-btn" value="#{bundle.login}" /> </td> ...... </h:form> And my faces-config file <faces-config> ..... <!-- Naviagion rule for userLogin.jsp --> <navigation-rule> <from-view-id>/jsp/userLogin.jsp</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/jsp/userHome/userHome.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>failure</from-outcome> <to-view-id>/jsp/userLogin.jsp</to-view-id> </navigation-case> </navigation-rule> ..... </faces-config> The above code is working just fine, but If I change the <h:commandButton> to <h:commandLink> then the action method is not getting invoked. I am not able to figure out what actually The problem is, can Anybody please help? Thanks