如何从按钮重定向jsf页面

时间:2014-06-24 05:00:49

标签: jsf java-ee redirect oracle-adf

您好我正在尝试使用oracle jdeveloper 12c 开发一个登录页面。我正在使用 Java EE 技术和 JSF 页面。 我想在验证数据库中是否存在用户后,从登录按钮重定向页面如果发现用户将其重定向到MainPage.Jsf,则重定向到Login.jsf两种情况下都会重定向到Login.jsf的问题。 PS:我没有在faces-config或adfc-config中进行任何更改这是我的身份验证功能

    public String authentification(String login, String pwd) {

    try{
        Query query;
        query = em.createQuery("select o from UserEntity o where " + " o.login = :LOGIN AND o.pwd = :PWD");

        query.setParameter("LOGIN",login);
        query.setParameter("PWD",pwd);


              query.getSingleResult();


        return  ("success") ;  


    }
    catch(Exception e){
            e.printStackTrace();
            return null;
    }

}

我确定验证功能正常运行

这是我在managedBean中的Dologin()

    public String DoLogin() {
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding = bindings.getOperationBinding("authentification");
    Object result = operationBinding.execute();
    System.out.println("## Result = " + result);
    if (!operationBinding.getErrors().isEmpty()) {
        return "/faces/MainPage.jsf?faces-redirect=true";
    }
    return "/faces/Login.jsf?faces-redirect=true";

}

日志没有显示任何例外或错误

1 个答案:

答案 0 :(得分:0)

试用此代码

ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
HttpServletResponse response = (HttpServletResponse)ectx.getResponse();

response.sendRedirect("../faces/login.jspx");