簡體   English   中英

使用 struts2 登錄后重定向

[英]redirect after login with struts2

我想在登錄到我的索引頁面(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>

這是我的登錄操作

 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;
}
}

我的 struts 配置文件:

<?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 部分是:

公共字符串驗證(字符串用戶名,字符串用戶密碼)拋出 SQLException,異常 {

    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();
        }

    }
}

謝謝你的幫助。

根據結果通過更改 window.location 值在成功處理程序中執行此操作。 Struts 頁面重定向不適用於您的方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM