0

「login.xhtml」から「home.xhtm」にリダイレクトするcommandButtonがあります。ログインは成功しますが、リダイレクトは機能しません。エラーなし。

顔-config.xhtml

<navigation-rule>
        <from-view-id>/public/login.xhtml</from-view-id>
        <navigation-case>
        <from-action>#{userLoginBean.login}</from-action>
            <from-outcome>login</from-outcome>
            <to-view-id>/public/home.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>

マネージドBean:

@RequestScoped
public class UserLoginBean{
..
...
..
 
public String login() throws ServletException, IOException{
    try
    {
      ExternalContext context = FacesContext.getCurrentInstance().getExternalContext(); 
      HttpServletRequest request = ((HttpServletRequest)context.getRequest());
            
      ServletResponse resposnse = ((ServletResponse)context.getResponse());
      RequestDispatcher dispatcher = request.getRequestDispatcher("/j_spring_security_check");
      dispatcher.forward(request, resposnse);
      FacesContext.getCurrentInstance().responseComplete();
      
      System.out.println("logiiiin");
      return "login";
    }
    catch (Exception ex) {
        ex.printStackTrace();
        System.out.println(ex.getMessage());
        System.out.println("Login Failed");
        FacesContext.getCurrentInstance()
                .addMessage(
                        "formLogin",
                        new FacesMessage(FacesMessage.SEVERITY_WARN,
                                "Login or Password Failed",
                                "User Name and Password Not Match!"));
         return"null";
    }

および .xhtml :

<f:facet name="footer">
                <center>
                    <p:commandButton  value="Se connecter" action="#{userLoginBean.login}" />
                </center>
            </f:facet>
4

1 に答える 1

0

ビジネスロジックなしでページにリダイレクトしてみてください。つまり、「ログイン」を返します。また、次のページの場所を確認します

于 2013-05-18T09:29:41.567 に答える