перенаправление после входа в систему с Struts2 - PullRequest
0 голосов
/ 11 апреля 2020

Я хочу сделать перенаправление после действия входа на мою индексную страницу (index. jsp), фактически мой вход в систему работает, но перенаправление отсутствует с поддержкой ajax.

Она - мой вход . jsp

<html>
<head>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript">
    function loginUser() {
    var username = $("#username").val();
    var userpass = $("#userpass").val();

    $.ajax({
        type : "POST",
        url : "loginuser.action",
        data : "username=" + username + "&userpass=" + userpass,
        success : function(data) {
            var ht = data.msg;
            $("#resp").html(ht);
        },
        error : function(data) {
            alert("Some error occured.");
        }
    });
}
</script>
</head>
<body style="text-align: center;">

<div class="container ">
    <div class="col-lg-4">
        <div class="form-group">
            <input type="text" name="username" id="username"
                class="form-control input-sm" placeholder="User Name">
        </div>
        <div class="form-group">
            <input type="password" name="userpass" id="userpass"
                class="form-control input-sm" placeholder="Password">
        </div>
        <button onclick="loginUser();" type="button" class="btn btn-success btn-block">Login</button>
        <div class="text-center" id="resp" style="margin-top: 14px;"></div>
    </div>
</div>

вот мой LoginAction

 public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 5569022937143602032L;

private String username, userpass, msg;
Admin dao = null;

public String execute() throws SQLException, Exception {
    dao = new Admin();
    msg = dao.validate(username, userpass);
    return msg;
}
public String getUsername() {
    return username;
}
public void setUsername(String username) {
    this.username = username;
}
public String getUserpass() {
    return userpass;
}
public void setUserpass(String userpass) {
    this.userpass = userpass;
}
public String getMsg() {
    return msg;
}
public void setMsg(String msg) {
    this.msg = msg;
}
}

мой файл конфигурации распорок:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="json-default">

    <action name="loginuser"
        class="org.websparrow.action.LoginAction">
        <result name="LOGIN" type="json"></result>
        <!-- <result name="Login Successful" type="redirectAction">index.jsp</result> -->
    </action>

    <action name="registeruser"
        class="org.websparrow.action.RegisterAction">
        <result name="REGISTER" type="json"></result>
    </action>
    <action name="report"
        class="org.websparrow.action.ReportAction">
        <result name="REPORT" type="json"></result>
    </action>
    <action name="updateuser"
        class="org.websparrow.action.UpdateAction">
        <result name="UPDATE" type="json"></result>
    </action>
    <action name="deleteuser"
        class="org.websparrow.action.DeleteAction">
        <result name="DELETE" type="json"></result>
    </action>
</package>

для части DAO:

publi c Проверка строки (String username, String userpass) выдает SQLException, Exception {

    boolean status = false;
    try {
        String sql = "select * from USERS where UNAME=? and UPASS=?";

        PreparedStatement ps = myconnection().prepareStatement(sql);
        ps.setString(1, username);
        ps.setString(2, userpass);
        ResultSet rs = ps.executeQuery();
        status = rs.next();
        if (status == true)
            return "Login Successful";
        else
            return "Login Failed";
    } catch (Exception e) {
        e.printStackTrace();
        return e.getMessage();
    } finally {
        if (myconnection() != null) {
            myconnection().close();
        }

    }
}

Спасибо за вашу помощь .

1 Ответ

0 голосов
/ 16 апреля 2020

Сделайте это в обработчике успеха на основе результата, изменив значение window.location. Перенаправление страницы Struts не применимо в вашем сценарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...