笔记6:登录后主页面显示用户姓名,回车登录

下面实现登录后在主页面显示用户姓名:

用户信息在UserController中的user对象中,用户名等信息都封装在user对象中。

控制层controller代码中处理好的数据传递到视图层,使用作用域来传递:

下面四个作用域都可以在web资源之间传递数据:

pageContext:同一个页面的不同标签之间传递数据

request:同一个请求过程中传递数据

session:同一个浏览器窗口的不同请求之间传递数据

application:所有用户都共享、并且长久频繁使用的数据

登录成功时,将user对象保存到session作用域中:

将key写成常量便于维护

} else {
                //登录成功
                returnObject.setCode(Constant.RETURN_OBJECT_CODE_SUCCESS);

                //把user保存到session中
                session.setAttribute(Constant.SESSION_USER, user);
}

在登录首页index.jsp中修改:

直接在session域中查找

${sessionScope.sessionUser.name}

添加一个小功能:

用户点击登录后,在响应返回之前,提示信息:正在验证

//数据都合法,发送异步请求
			$.ajax({
				url:'settings/qx/user/login.do',
				data:{
					loginAct:loginAct,
					loginPwd:loginPwd,
					isRemPwd:isRemPwd
				},
				type:'post',
				dataType:'json',

				//处理响应:在回调函数里
				success:function (data) {
					//data用来接收后台返回的响应信息
					if(data.code=="1") {
						//后台验证成功,跳转到业务主页面
						//直接跳转不过去,使用controller
						window.location.href="workbench/index.do";//这个和在浏览器敲地址相同
					} else {
						//登录失败,输出提示信息
						$("#msg").text(data.message);
					}
				},
				//Ajax发送请求之前会自动执行本函数
				//该函数执行的返回值能够决定Ajax是否真正向后台发请求
				//返回true,则Ajax会真正向后台发送请求,返回false,则Ajax会放弃向后台发送请求
				beforeSend:function () {
					$("#msg").text("正在努力验证...");
					return true;
				}
			});

继续完善登录功能:

按下回车键登录

知识:jQuery事件函数的用法:

//给指定的元素添加单击事件

选择器.click(function () {

        //js代码

});

//在指定的元素上模拟发生一次事件

选择器.click();

//给整个浏览器窗口添加键盘按下事件
		$(window).keydown(function (event) {
			//判断按下的是否是回车键
			if(event.keyCode == 13) {
				//模拟发生单击事件
				$("#loginBtn").click();
			}
		});

你可能感兴趣的:(动力节点crm项目笔记,前端)