使用ajax用户名密码登录后转发至WEB-INF下的方法

需要实现的功能是前端页面输入用户名,密码点击登录后如果输入正确转发到WEB-INF下的页面.如果输入错误则提示用户

思路:因为输入错误时需要用ajax局刷新技术提示用户.所以此处需要用ajax来传输数据

难点:这里棘手的地方在于验证用户名和密码正确时需要跳转到WEB-INF下的页面,因为基础不够扎实,一开     始一直在尝试在前端页面直接转发页面,事实上要转发到WEB-INF下的页面只能通过后台实现,所以此处ajax在收到后台的登录成功通知后访问welcome方法,在该方法中实现页面的跳转

方法:

1.前端页面在输入用户名和密码后点登录时调用ajax函数并将用户名和密码传至后台

function submit(){
	var loginName = document.getElementById("loginName").value;
	var loginPwd = document.getElementById("loginPwd").value;
	$.ajax({
	        type: "post",
	        url: "${base}/doLogin",
	        data: {"loginName":loginName,"loginPwd":loginPwd},
	        dataType: "json",
	        async: false,
	        success:function(data){
	        	var type = data.result_msg;
	        	var login = data.login;
	        	if (type.toString() == "1"){
	        		location.href = "${base}/login!welcome?id="+login.id;
	        	} else {
	        		alert(data.result_msg);
	        	}
	        },
	        error: function() {
	            alert("查询出错,请稍后再试");
	        }
		});
}

2.struts 配置

<!-- 点击个人中心的登录 -->
		<action name="login" class="com.vrswkj.action.LoginAction">
			<result type="freemarker" name="login">/login.ftl</result>
			<result type="freemarker" name="welcome">/WEB-INF/pages/welcome.ftl</result>
		</action>
		<!-- 个人中心之校验用户名密码 -->
		<action name="doLogin" class="com.vrswkj.action.LoginAction" method="doLogin">
			<result type="json">
				<param name="root">dataMap</param>
			</result>
		</action>

3.java类

public String doLogin() {
		dataMap = new HashMap<String, Object>();
		Login loginTemp = new Login();
		loginTemp.setLoginName(loginName);
		loginTemp.setLoginPwd(loginPwd);
		login = loginService.getLogin(loginTemp);
		if (login != null) {
			dataMap.put("login", login);
			dataMap.put("result_msg", "1");// 1代表用户名和密码正确,可以登录
		} else {
			dataMap.put("result_msg", "用户名或者密码错误");
		}
		return SUCCESS;
	}
	public String welcome() {
		Login loginTemp = new Login();
		loginTemp.setId(id);
		login = loginService.getLogin(loginTemp);
		return "welcome";
	}

 

转载于:https://my.oschina.net/MrBamboo/blog/740904

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值