• struts2结合ajax实现无刷新登录


    1、

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!-- 必须加入struts2-dojo-plugin-相应版本.jar 才能使用ajax-->
    <%@taglib prefix="sx" uri="/struts-dojo-tags"%>
    <html>
    <!-- 必须加入struts2-dojo-plugin-相应版本.jar 才能使用ajax-->
    <s:head theme="xhtml" />
    <sx:head parseContent="true" debug="true" />
    <title>惠生活管理系统</title>
    <body>
        <a href="action.jsp">客户端API</a>
        <br>
    
        <div id="loginDiv">
            <div id="errorDiv"></div>
            <s:form name="divLoginForm" id="divLoginForm" action="login_admin"
                theme="xhtml">
                <s:label label="请输入用户名密码"></s:label>
                <s:textfield name="admin.name" label="账号" value="admin" />
                <s:password name="admin.password" label="密码" value="admin" />
                <!-- sx executeScripts-->
                <sx:submit value=" 登 录  " formId="divLoginForm"
                    targets="loginSuccessDiv" executeScripts="true" />
            </s:form>
        </div>
        <div id="loginSuccessDiv" class="div" style="display: none;"></div>
    
    </body>
    </html>

    2‘提交action之后赋相应值session、request

    public String login() {
            if(iAdminService.validate(admin.getName(), admin.getPassword())!=0){
                getRequest().getSession(true).setAttribute("name", admin.getName());
                getRequest().setAttribute("status", "success");
            }else {
                getRequest().setAttribute("status", "failed");
            }
            return "script";
        }

    3、scipt.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <s:bean id="date" name="java.util.Date"/>
    <s:if test="%{#request.status=='success'}">
    欢迎您,<s:property value="#session.name"/>. 登录时间:<s:date name="%{#date}"/>
    <s:url action="logout_admin" id="divLogoutUrl"></s:url>
    <s:a href="%{#divLogoutUrl}" theme="xhtml" >注销</s:a>
    <script>
    //将error置空
    document.getElementById('errorDiv').innerHTML='';
    //将登陆框隐藏
    document.getElementById('loginDiv').style.display='none';
    //显示成功信息
    document.getElementById('loginSuccessDiv').style.display='';
    </script>
    </s:if>
    <s:elseif test="%{#request.status=='failed'}">
    <script>
    document.getElementById('errorDiv').innerHTML="您输入的密码和账户名不匹配,请重新输入。";
    </script>
    </s:elseif>
    <s:else>
    <script>
    //将成功信息置空
    document.getElementById('loginSuccessDiv').innerHTML='';
    //将登陆框显示
    document.getElementById('loginDiv').innerHTML='';
    //隐藏成功信息
    document.getElementById('loginSuccessDiv').style.display='none';
    </script>
    </s:else>

    Done

  • 相关阅读:
    消息队列非阻塞
    外挂简介
    mfc小工具开发之定时闹钟之---二十四小时时区和时间段
    mfc小工具开发之定时闹钟之---时间获取和音频播放
    mfc小工具开发之定时闹钟之---多线程急线程同步
    mfc小工具开发之定时闹钟之---功能介绍
    8127 timeout!!! 搞死人啊
    RGB565 转换 BMP24
    linux 格式化u盘
    linq分页扩展(转)
  • 原文地址:https://www.cnblogs.com/xingyyy/p/3850485.html
Copyright © 2020-2023  润新知