struts2+ajax登录问题

action中:
public String execute() throws Exception {
User u=userService.findUserByNameAndPassword(user);
try {
u.setStudentCourseInfoList(null);
u.setTeacherCourseInfoList(null);
user.setId(u.getId());
return String.valueOf(u.getType());

        /*return SUCCESS;*/
    } catch (NullPointerException e) {
        //json.fromObject("用户名密码错误,请重新登录!");
        //this.message="错误";
        JSONObject jsob = new JSONObject();
        jsob.put("success", "用户名密码错误或不存在");
        json = JSONObject.fromObject(jsob);
        return ERROR;
    }
}

配置文件中:
<action name="loginPro" class="com.lb.action.UserAction">
        <result name="1">/jsp/teacher/teacher.jsp</result>
        <result name="2">/jsp/student/student.jsp</result>
        <result name="0">/jsp/admin/admin.jsp</result>
        <!-- <result name="error">/jsp/login/fail.jsp</result> 
        <result type="json" name="error">
            <param name="root">json</param>
        </result>-->    
    </action>


    页面中:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<!DOCTYPE html>
<%@ taglib prefix="s" uri="/struts-tags"%>



用户登录界面
href="${pageContext.request.contextPath}/easyui/themes/default/easyui.css">
href="${pageContext.request.contextPath}/easyui/themes/icon.css">
href="${pageContext.request.contextPath}/easyui/themes/color.css">
href="${pageContext.request.contextPath}/bootstrap/css/bootstrap.min.css">
src="${pageContext.request.contextPath}/jquery/jquery-2.1.3.min.js"> .myBackground { background: url("${pageContext.request.contextPath}/picture/background.jpg") no-repeat; background-position: 50px 50px; } .myInstitute { background: url("${pageContext.request.contextPath}/picture/logo.jpg") no-repeat; } .myBackgroundColor { background-color: #fff; }

学生信息管理系统

——光山县第二高级中学

登录
function loginHandle() { $.ajax({ //url:g_contextPath+'/servlet/LoginHandleServlet', url:'loginPro.action', //url表示服务器端处理用户登录的URL地址 //data表示要提交到服务器端的数据,更加简洁的写法 data: $('#loginForm').serialize(), //serialize()方法的作用是将form表单中的内容序列化成字符串 dataType: 'json', type:'post', success: function(data) { var dataObj=eval(data); $.messager.alert('提示',dataObj.success,'error'); } }); }; $("#loginForm").keydown(function(e){ if(e.keyCode == 13){ loginHandle(); } }); $(function(){ $('#login').click(function() { //var params=$('input').serialize(); //将input元素序列化,返回JSON数据格式 $.ajax({ type: 'post', //请求方式为post方式 url: 'login.action', //请求地址 dataType: 'json', //服务器返回类型为JSON类型 data:$('#loginForm').serialize(), //发送到服务器的数据 success:function(data){ //请求成功后的回调函数 var dataObj=eval(data); $.messager.alert('提示',dataObj.success,'error'); } }); }); })



问题:学生 老师 管理员都在一个用户表,用类型区分,用户登录判断用户名和密码,判断用户类型 跳转对应页面,如果用户名或密码错误,弹出错误消息

1个回答

你思路都有了,还想问什么?

qq_25139939
达纳苏斯的夜 回复蘑菇兜: action那边判断,错误就返回状态错误的json,前台弹窗就行了。
3 年多之前 回复
u010086086
蘑菇兜 思路有点问题吧,action中先判断用户名密码是否存在,然后根据用户类型跳转相应页面,如果用户名密码不正确,弹出错误信息,这个登录我想用ajax实现,主要是想显示登录错误直接在登录页面弹出错误消息提示框
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!