• 登录的完整案例


    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@page import="org.jeecgframework.core.util.SysThemesUtil,org.jeecgframework.core.enums.SysThemesEnum"%>
    <%@include file="/context/mytags.jsp"%>
    <%
      session.setAttribute("lang","zh-cn");
      SysThemesEnum sysTheme = SysThemesUtil.getSysTheme(request);
      String lhgdialogTheme = SysThemesUtil.getLhgdialogTheme(sysTheme);
    %>
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
      <meta charset="utf-8" />
      <title><t:mutiLang langKey="jeect.platform"/></title>
       <link rel="shortcut icon" href="images/favicon.ico">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
      <!-- bootstrap & fontawesome -->
      <link rel="stylesheet" href="plug-in/ace/css/bootstrap.css" />
      <link rel="stylesheet" href="plug-in/ace/css/font-awesome.css" />
      <link rel="stylesheet" type="text/css" href="plug-in/accordion/css/accordion.css">
      <!-- text fonts -->
      <link rel="stylesheet" href="plug-in/ace/css/ace-fonts.css" />
    
      <link rel="stylesheet" href="plug-in/ace/css/jquery-ui.css" />
      <!-- ace styles -->
      <link rel="stylesheet" href="plug-in/ace/css/ace.css" class="ace-main-stylesheet" id="main-ace-style" />
      <!--[if lte IE 9]>
      <link rel="stylesheet" href="plug-in/ace/css/ace-part2.css" class="ace-main-stylesheet" />
      <![endif]-->
    
      <!--[if lte IE 9]>
      <link rel="stylesheet" href="plug-in/ace/css/ace-ie.css" />
      <![endif]-->
      <!-- ace settings handler -->
      <script src="plug-in/ace/js/ace-extra.js"></script>
    
      <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    
      <!--[if lte IE 8]>
      <script src="plug-in/ace/js/html5shiv.js"></script>
      <script src="plug-in/ace/js/respond.js"></script>
      <![endif]-->
    
    </head>
    <body class="login-layout light-login">
    <div class="main-container">
      <div class="main-content">
        <div class="row">
          <div class="col-sm-10 col-sm-offset-1">
            <div class="login-container">
              <div class="center">
                <h1 id="id-text2" class="grey">
    <!--               <i class="ace-icon fa fa-leaf green"></i> -->
                    <t:mutiLang langKey="com.sysname"/>
                </h1>
    <!--             <h4 class="blue" id="id-company-text">www.zzjee.org</h4> -->
              </div>
              <div class="space-6"></div>
              <div class="position-relative">
                <div id="login-box" class="login-box visible widget-box no-border">
                  <div class="widget-body">
                    <form id="loinForm" class="form-horizontal"  check="loginController.do?checkuser"  role="form" action="loginController.do?login"  method="post">
                    <div class="widget-main">
                     <div class="alert alert-warning alert-dismissible" role="alert" id="errMsgContiner">
                      <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                      <div id="showErrMsg"></div>
                    </div>
                      <h4 class="header blue lighter bigger">
                        <i class="ace-icon fa fa-coffee green"></i>
                            用户登录
                      </h4>
                      <div class="space-6"></div>
                          <label class="block clearfix">
                                    <span class="block input-icon input-icon-right">
                                        <input type="text"  name="userName" class="form-control" placeholder="请输入用户名"  id="userName" value=""/>
                                        <i class="ace-icon fa fa-user"></i>
                                    </span>
                          </label>
                          <label class="block clearfix">
                                    <span class="block input-icon input-icon-right">
                                        <input type="password" name="password" class="form-control" placeholder="请输入密码" id="password" value=""/>
                                        <i class="ace-icon fa fa-lock"></i>
                                    </span>
                          </label>
                          <label class="block clearfix">
                            <div class="input-group">
                              <input type="text" style="150px" name="randCode" class="form-control" placeholder="请输入验证码"  id="randCode"/>
                              <span class="input-group-addon" style="padding: 0px;"><img id="randCodeImage" src="randCodeImage"  /></span>
                            </div>
                          </label>
                          <div class="space"></div>
                          <div class="clearfix">
                            <label class="inline">
                              <input type="checkbox" class="ace" id="on_off"  name="remember" value="yes"/>
                              <span class="lbl">记住用户名</span>
                            </label>
                            <button type="button" id="but_login"  onclick="checkUser()" class="width-35 pull-right btn btn-sm btn-primary">
                              <i class="ace-icon fa fa-key"></i>
                              <span class="bigger-110" >登录</span>
                            </button>
                          </div>
                          <div class="space-4"></div>
    
                    </div>
                    <%--<div class="toolbar clearfix">--%>
                      <%--<div style="float: right">--%>
                        <%--<a href="#"  class="forgot-password-link">--%>
                              <%--语言--%>
                          <%--<i class="ace-icon fa fa-arrow-right"></i>--%>
                          <%--<t:dictSelect id="langCode" field="langCode" typeGroupCode="lang" hasLabel="false" extendJson="{style:'padding:2px; 80px;'}" defaultVal="zh-cn"></t:dictSelect>--%>
                        <%--</a>--%>
                      <%--</div>--%>
                    <%--</div>--%>
                    </form>
                  </div>
                </div>
    <!--             <div class="center"><h4 class="blue" id="id-company-text">&copy; ZZJEE版权所有 v_3.7</h4></div> -->
                <div class="navbar-fixed-top align-right">
                  <br />
                  &nbsp;
                  <a id="btn-login-dark" class="blue" href="#" onclick="darkStyle()">Dark</a>
                  &nbsp;
                  <span class="blue">/</span>
                  &nbsp;
                  <a id="btn-login-blur" class="blue" href="#" onclick="blurStyle()">Blur</a>
                  &nbsp;
                  <span class="blue">/</span>
                  &nbsp;
                  <a id="btn-login-light" class="blue" href="#" onclick="lightStyle()">Light</a>
                  &nbsp; &nbsp; &nbsp;
                </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
    
    
    
    <script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="plug-in/jquery/jquery.cookie.js"></script>
    <script type="text/javascript" src="plug-in/mutiLang/en.js"></script>
    <script type="text/javascript" src="plug-in/mutiLang/zh-cn.js"></script>
    <script type="text/javascript" src="plug-in/login/js/jquery.tipsy.js"></script>
    <script type="text/javascript" src="plug-in/login/js/iphone.check.js"></script>
    <script type="text/javascript" src="plug-in/login/js/login.js"></script>
    <script type="text/javascript">
        $(function(){
            optErrMsg();
        });
        $("#errMsgContiner").hide();
        function optErrMsg(){
            $("#showErrMsg").html('');
            $("#errMsgContiner").hide();
        }
    
       //输入验证码,回车登录
      $(document).keydown(function(e){
          if(e.keyCode == 13) {
              $("#but_login").click();
          }
      });
    
      //验证用户信息
      function checkUser(){
        if(!validForm()){
          return false;
        }
        newLogin();
      }
      //表单验证
      function validForm(){
        if($.trim($("#userName").val()).length==0){
          showErrorMsg("请输入用户名");
          return false;
        }
    
        if($.trim($("#password").val()).length==0){
          showErrorMsg("请输入密码");
          return false;
        }
    
        if($.trim($("#randCode").val()).length==0){
          showErrorMsg("请输入验证码");
          return false;
        }
        return true;
      }
    
      //登录处理函数
      function newLogin(orgId) {
        setCookie();
        var actionurl=$('form').attr('action');//提交路径
        var checkurl=$('form').attr('check');//验证路径
        var formData = new Object();
        var data=$(":input").each(function() {
          formData[this.name] =$("#"+this.name ).val();
        });
        formData['orgId'] = orgId ? orgId : "";
        //语言
        formData['langCode']=$("#langCode").val();
        formData['langCode'] = $("#langCode option:selected").val();
        $.ajax({
          async : false,
          cache : false,
          type : 'POST',
          url : checkurl,// 请求的action路径
          data : formData,
          error : function() {// 请求失败处理函数
          },
          success : function(data) {
            var d = $.parseJSON(data);
            if (d.success) {
              if (d.attributes.orgNum > 1) {
                    //用户拥有多个部门,需选择部门进行登录
                  var title, okButton;
                  if($("#langCode").val() == 'en') {
                    title = "Please select Org";
                    okButton = "Ok";
                  } else {
                    title = "请选择组织机构";
                    okButton = "确定";
                  }
                $.dialog({
                  id: 'LHG1976D',
                  title: title,
                  max: false,
                  min: false,
                  drag: false,
                  resize: false,
                  content: 'url:userController.do?userOrgSelect&userId=' + d.attributes.user.id,
                  lock:true,
                  button : [ {
                    name : okButton,
                    focus : true,
                    callback : function() {
                      iframe = this.iframe.contentWindow;
                      var orgId = $('#orgId', iframe.document).val();
    
                      formData['orgId'] = orgId ? orgId : "";
                      $.ajax({
                          async : false,
                          cache : false,
                          type : 'POST',
                          url : 'loginController.do?changeDefaultOrg',// 请求的action路径
                          data : formData,
                          error : function() {// 请求失败处理函数
                          },
                          success : function(data) {
                              window.location.href = actionurl;
                          }
                      });
    
                      this.close();
                      return false;
                    }
                  }],
                  close: function(){
                    setTimeout("window.location.href='"+actionurl+"'", 10);
                  }
                });
              } else {
                window.location.href = actionurl;
              }
           } else {
                showErrorMsg(d.msg);
                  if(d.msg === "用户名或密码错误" || d.msg === "验证码错误")
                      reloadRandCodeImage();
    
            }
          }
        });
      }
      //登录提示消息显示
      function showErrorMsg(msg){    
        $("#errMsgContiner").show();
        $("#showErrMsg").html(msg);    
        window.setTimeout(optErrMsg,3000); 
      }
      /**
       * 刷新验证码
       */
    $('#randCodeImage').click(function(){
        reloadRandCodeImage();
    });
    function reloadRandCodeImage() {
        var date = new Date();
        var img = document.getElementById("randCodeImage");
        img.src='randCodeImage?a=' + date.getTime();
    }
    
      function darkStyle(){
        $('body').attr('class', 'login-layout');
        $('#id-text2').attr('class', 'red');
        $('#id-company-text').attr('class', 'blue');
        e.preventDefault();
      }
      function lightStyle(){
        $('body').attr('class', 'login-layout light-login');
        $('#id-text2').attr('class', 'grey');
        $('#id-company-text').attr('class', 'blue');
    
        e.preventDefault();
      }
      function blurStyle(){
        $('body').attr('class', 'login-layout blur-login');
        $('#id-text2').attr('class', 'white');
        $('#id-company-text').attr('class', 'light-blue');
    
        e.preventDefault();
      }
    //设置cookie
      function setCookie()
      {
          if ($('#on_off').val() == '1') {
              $("input[iscookie='true']").each(function() {
                  $.cookie(this.name, $("#"+this.name).val(), "/",24);
                  $.cookie("COOKIE_NAME","true", "/",24);
              });
          } else {
              $("input[iscookie='true']").each(function() {
                  $.cookie(this.name,null);
                  $.cookie("COOKIE_NAME",null);
              });
          }
      }
      //读取cookie
      function getCookie()
      {
          var COOKIE_NAME=$.cookie("COOKIE_NAME");
          if (COOKIE_NAME !=null) {
              $("input[iscookie='true']").each(function() {
                  $($("#"+this.name).val( $.cookie(this.name)));
                  if("admin" == $.cookie(this.name)) {
                      $("#randCode").focus();
                  } else {
                      $("#password").val("");
                      $("#password").focus();
                  }
              });
              $("#on_off").attr("checked", true);
              $("#on_off").val("1");
          } 
          else
          {
              $("#on_off").attr("checked", false);
              $("#on_off").val("0");
            $("#randCode").focus();
          }
      }
    </script>
    <%=lhgdialogTheme %>
    </body>
    </html>

    效果:

    分析js:

    <script type="text/javascript">
        $(function(){
            optErrMsg();
    //页面加载完成之后,将错误框进行隐藏 }); $(
    "#errMsgContiner").hide(); function optErrMsg(){ $("#showErrMsg").html(''); $("#errMsgContiner").hide(); } //输入验证码,回车登录 $(document).keydown(function(e){ if(e.keyCode == 13) { $("#but_login").click(); } }); //验证用户信息 function checkUser(){ if(!validForm()){ return false; } newLogin(); } //表单验证 function validForm(){ if($.trim($("#userName").val()).length==0){ showErrorMsg("请输入用户名"); return false; } if($.trim($("#password").val()).length==0){ showErrorMsg("请输入密码"); return false; } if($.trim($("#randCode").val()).length==0){ showErrorMsg("请输入验证码"); return false; } return true; } //登录处理函数 function newLogin(orgId) { setCookie(); var actionurl=$('form').attr('action');//提交路径 var checkurl=$('form').attr('check');//验证路径 var formData = new Object(); var data=$(":input").each(function() { formData[this.name] =$("#"+this.name ).val(); }); formData['orgId'] = orgId ? orgId : ""; //语言 formData['langCode']=$("#langCode").val(); formData['langCode'] = $("#langCode option:selected").val(); $.ajax({ async : false, cache : false, type : 'POST', url : checkurl,// 请求的action路径 data : formData, error : function() {// 请求失败处理函数 }, success : function(data) { var d = $.parseJSON(data); if (d.success) { if (d.attributes.orgNum > 1) { //用户拥有多个部门,需选择部门进行登录 var title, okButton; if($("#langCode").val() == 'en') { title = "Please select Org"; okButton = "Ok"; } else { title = "请选择组织机构"; okButton = "确定"; } $.dialog({ id: 'LHG1976D', title: title, max: false, min: false, drag: false, resize: false, content: 'url:userController.do?userOrgSelect&userId=' + d.attributes.user.id, lock:true, button : [ { name : okButton, focus : true, callback : function() { iframe = this.iframe.contentWindow; var orgId = $('#orgId', iframe.document).val(); formData['orgId'] = orgId ? orgId : ""; $.ajax({ async : false, cache : false, type : 'POST', url : 'loginController.do?changeDefaultOrg',// 请求的action路径 data : formData, error : function() {// 请求失败处理函数 }, success : function(data) { window.location.href = actionurl; } }); this.close(); return false; } }], close: function(){ setTimeout("window.location.href='"+actionurl+"'", 10); } }); } else { window.location.href = actionurl; } } else { showErrorMsg(d.msg); if(d.msg === "用户名或密码错误" || d.msg === "验证码错误") reloadRandCodeImage(); } } }); } //登录提示消息显示 function showErrorMsg(msg){ $("#errMsgContiner").show(); $("#showErrMsg").html(msg); window.setTimeout(optErrMsg,3000); } /** * 刷新验证码 */ $('#randCodeImage').click(function(){ reloadRandCodeImage(); }); function reloadRandCodeImage() { var date = new Date(); var img = document.getElementById("randCodeImage"); img.src='randCodeImage?a=' + date.getTime(); } function darkStyle(){ $('body').attr('class', 'login-layout'); $('#id-text2').attr('class', 'red'); $('#id-company-text').attr('class', 'blue'); e.preventDefault(); } function lightStyle(){ $('body').attr('class', 'login-layout light-login'); $('#id-text2').attr('class', 'grey'); $('#id-company-text').attr('class', 'blue'); e.preventDefault(); } function blurStyle(){ $('body').attr('class', 'login-layout blur-login'); $('#id-text2').attr('class', 'white'); $('#id-company-text').attr('class', 'light-blue'); e.preventDefault(); } //设置cookie function setCookie() { if ($('#on_off').val() == '1') { $("input[iscookie='true']").each(function() { $.cookie(this.name, $("#"+this.name).val(), "/",24); $.cookie("COOKIE_NAME","true", "/",24); }); } else { $("input[iscookie='true']").each(function() { $.cookie(this.name,null); $.cookie("COOKIE_NAME",null); }); } } //读取cookie function getCookie() { var COOKIE_NAME=$.cookie("COOKIE_NAME"); if (COOKIE_NAME !=null) { $("input[iscookie='true']").each(function() { $($("#"+this.name).val( $.cookie(this.name))); if("admin" == $.cookie(this.name)) { $("#randCode").focus(); } else { $("#password").val(""); $("#password").focus(); } }); $("#on_off").attr("checked", true); $("#on_off").val("1"); } else { $("#on_off").attr("checked", false); $("#on_off").val("0"); $("#randCode").focus(); } } </script>
  • 相关阅读:
    POJ 2457 Part Acquisition
    POJ 1364 King ( 差分约束 )
    HDU 4292 Food (SAP | Dinic )
    1492: 费马定理 (快速幂)
    Csharp: 打印設置字符之間的間距
    sql script: Calculating Days
    Csharp: 阴历年甲子干支算法錯誤問題
    Csharp: 拼音转汉字字符搜索字符串
    SQL Server Dates or Calendar Table for PowerPivot
    Csharp:白底圖片透明處理
  • 原文地址:https://www.cnblogs.com/xiufengchen/p/10413294.html
Copyright © 2020-2023  润新知