Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何重定向到另一个具有sweet alert的页面?_Jsf_Sweetalert - Fatal编程技术网

Jsf 如何重定向到另一个具有sweet alert的页面?

Jsf 如何重定向到另一个具有sweet alert的页面?,jsf,sweetalert,Jsf,Sweetalert,我在尝试重定向页面时遇到了一个小问题。这是我的代码: public String doLoginn(){ try{ Users users = DaoFactory.getUsersDao().getUsersByUsernameAndPasswordAndRole(username, password, id_role_fk); if(users != null){ FacesContext context = FacesCo

我在尝试重定向页面时遇到了一个小问题。这是我的代码:

public String doLoginn(){
    try{
        Users users = DaoFactory.getUsersDao().getUsersByUsernameAndPasswordAndRole(username, password, id_role_fk);


        if(users != null){
            FacesContext context = FacesContext.getCurrentInstance();
            HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
            RequestContext rc = RequestContext.getCurrentInstance();
            session.setAttribute("LOGIN USER", users);

            LOGGER.info("Login success");
            if(users.getId_role_fk() == 2)
            {
                rc.execute("swal('Login success!', 'Congratulations! you are logged in as Management', 'success')");
                return "home?faces-redirect=true";
            } else{
                rc.execute("swal('Login success!', 'Congratulations! you are logged in as Admin', 'success')");
                return "list-data-user?faces-redirect=true";
            }


        } else{
            LOGGER.error("Login failed");
            AppBean.addErrorMsg("Invalid Username and Password");
        }
    } catch(SQLException e){
        AppBean.addErrorMsg("Cannot execute db");
        LOGGER.error("Failed to execute db: " + e.getCause());
    }
    return null;
}
这是一个登录函数。当登录成功时,会有一个甜蜜的警报,如果我单击“确定”,它会重定向到另一个页面。但是,我找不到任何方法来做这件事。我在bean中设置了sweet警报,因此在xhtml中我只调用doLoginn函数。你有什么建议吗? 以下是我的按钮登录xhtml代码:

<!-- button login -->
                                        <div class="col s12 input-field" style="margin-left: 155px;">
                                            <h:commandLink value="Login" styleClass="btn btn-large"
                                                actionListener="#{loginBean.doLoginn()}" />
                                        </div>


根据我的bean,如果我使用action,它将重定向页面,但不显示甜警报;如果我使用actionListener,它将显示甜警报,但不重定向页面。

因此,如果您将
swal
更改为
alert
并连接字符串,您会看到警报吗?而这与我无关。。。我去掉了那个标签。哦,我有一种“似曾相识”。。。这是对的吗?@Kukeltje是的,我是同一个人,兄弟。我意识到我在最后一个问题中的提问方式很难理解,所以我改变了它。希望这将是一个更好的方式让人们理解。如果我冒犯了你,我很抱歉你没有冒犯我。。。但我再也看不到另一个问题了。所以我很惊讶。这并不难理解,但你应该缩小范围。这就是我的第一个评论。这与sweetalert没有任何关系。您的标题可能“令人困惑”。。。您没有使用(通过)sweetalert重定向到另一个页面,而是希望重定向到包含/运行sweetalert的另一个页面。然后,您可以简化并查看运行其他东西(普通警报)是否有效。。。如果没有,您可以缩小与sweetalert无关的范围,您可以用更通用的方式进行搜索:“如何在重定向到的页面中从服务器端执行javascript”正如您在删除的问题中所解释的,您真正的问题基本上是“在特定JSF操作之后如何在重定向页面上执行javascript代码?”。