To replace the standard Spring security login form, I came up with this solution:
<form name="f" action="../j_spring_security_check" method="POST" > <h:panelGrid columns="2"> <h:outputText value="Username" /> <h:inputText id="j_username" /> <h:outputText value="Password" /> <h:inputText id="j_password" /> </h:panelGrid> <h:commandButton value="Login" /> </form>
But instead of the usual <form> I would like to use <h:form> , since Primefaces components work only inside <h:form> . Using <h:form> , the form action will be automatically set by JSF to the current page, and not to the value that I set in the above example. Where do I need to code the action "../j_spring_security_check" now? I tried putting it in <h:commandButton> as follows, but this does not work:
<h:form name="f"> <h:panelGrid columns="2"> <h:outputText value="Username" /> <h:inputText id="j_username" /> <h:outputText value="Password" /> <h:inputText id="j_password" /> </h:panelGrid> <h:commandButton value="Click here" action="../j_spring_security_check" /> </form>
This leads to the error message Unable to find matching navigation case with from-view-id '/login.xhtml' for action '../j_spring_security_check' with outcome '../j_spring_security_check' .
Is this the only way to determine the navigation case in faces-config.xml ? I want to avoid using a bean for this simple use.
source share