• 表现层 JSP 页面实现


    一、实验介绍

    1.1 实验内容

    本节课程主要利用 easyUI 实现系统的前端页面。

    1.2 实验知识点

    • easyUI
    • JavaScript
    • html

    1.3 实验环境

    • JDK1.8
    • Eclipse JavaEE

    二、实验步骤

    2.1 表现层相关文件获取

    打开终端,输入以下命令获取相关文件,包括 easyui、jQuery 等相关文件,保存到目录 /home/shiyanlou/ 下。

    wget http://labfile.oss.aliyuncs.com/courses/824/fontendFiles.tar
    

    解压文件到 /home/shiyanlou/ 下。

    tar zxvf fontendFiles.tar
    

    然后将 /home/shiyanlou/fontendFiles 文件夹下的全部文件夹拷贝到项目 hrmssrc->main->webapp 下。

    此处输入图片的描述

    此处输入图片的描述

    2.2 login.jsp

    在项目 hrmssrc->main->webapp 下新建 JSP 页面 login.jsp 作为系统的登录页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//Dtd HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>hrms-login</title>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
    <style type=text/css>
    body {
        text-align: center;
        padding-bottom: 0px;
        background-color: #ddeef2;
        margin: 0px;
        padding-left: 0px;
        padding-right: 0px;
        padding-top: 0px
    }
    
    A:link {
        COLOR: #000000;
        text-decoration: none
    }
    
    A:visited {
        COLOR: #000000;
        text-decoration: none
    }
    
    A:hover {
        COLOR: #ff0000;
        text-decoration: underline
    }
    
    A:active {
        text-decoration: none
    }
    
    .input {
        border-bottom: #ccc 1px solid;
        border-left: #ccc 1px solid;
        line-height: 20px;
         182px;
        height: 20px;
        border-top: #ccc 1px solid;
        border-right: #ccc 1px solid
    }
    
    .input1 {
        border-bottom: #ccc 1px solid;
        border-left: #ccc 1px solid;
        line-height: 20px;
         120px;
        height: 20px;
        border-top: #ccc 1px solid;
        border-right: #ccc 1px solid;
    }
    </style>
    <script type="text/javascript">
        /* 登录 */
        function login() {
            var username = $("#username").val();
            var password = $("#password").val();
            if (username == null || username == "") {
                alert("username can't be emptyuff01");
                return;
            }
            if (password == null || password == "") {
                alert("password can't be emptyuff01");
                return;
            }
            $("#adminlogin").submit();
    
        }
        /* 用户名或密码错误时显示 */
        if ('${errorMsg}' != '') {
            alert('${errorMsg}');
        }
        /* 拦截器显示信息 */
        if ('${message}' != '') {
            alert('${message}');
        }
    </script>
    </head>
    <body>
        <form id=adminlogin method=post name=adminlogin
            action="${pageContext.request.contextPath}/admin/login">
            <div></div>
            <table style="margin: auto;  100%; height: 100%" border=0
                cellSpacing=0 cellPadding=0>
                <tbody>
                    <tr>
                        <td height=150>&nbsp;</td>
                    </tr>
                    <tr style="height: 254px">
                        <td>
                            <div style="margin: 0px auto;  868px">
                                <img style="display: block"
                                    src="${pageContext.request.contextPath}/images/body_03.jpg">
                            </div>
                            <div style="background-color: #278296">
                                <div style="margin: 0px auto;  936px">
                                    <div
                                        style="BACKGROUND: url(${pageContext.request.contextPath}/images/body_05.jpg) no-repeat; height: 155px">
                                        <div
                                            style="text-align: left;  265px; float: right; height: 125px; _height: 95px">
                                            <table border=0 cellSpacing=0 cellPadding=0 width="100%">
                                                <tbody>
                                                    <tr>
                                                        <td style="height: 45px"><input type="text"
                                                            class=input value="${admin.username}" name="username"
                                                            id="username"></td>
                                                    </tr>
                                                    <tr>
                                                        <td><input type="password" class=input
                                                            value="${admin.password}" name="password" id="password" /></td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </div>
                                        <div style="height: 1px; clear: both"></div>
                                        <div style=" 380px; float: right; clear: both">
                                            <table border=0 cellSpacing=0 cellPadding=0 width=300>
                                                <tbody>
    
                                                    <tr>
                                                        <td width=100 align=right><input
                                                            style="border-right- 0px; border-top- 0px; border-bottom- 0px; border-left- 0px"
                                                            id=btnLogin
                                                            src="${pageContext.request.contextPath}/images/btn1.jpg"
                                                            type=image name=btnLogin onclick="javascript:login();"></td>
                                                        <td width=100 align=middle><input
                                                            style="border-right- 0px; border-top- 0px; border-bottom- 0px; border-left- 0px"
                                                            id=btnReset
                                                            src="${pageContext.request.contextPath}/images/btn2.jpg"
                                                            type=image name=btnReset
                                                            onclick="javascript:adminlogin.reset();"></td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div style="margin: 0px auto;  936px">
                                <img src="${pageContext.request.contextPath}/images/body_06.jpg">
                            </div>
                        </td>
                    </tr>
                    <tr style="height: 30%">
                        <td>&nbsp;</td>
                    </tr>
                </tbody>
            </table>
        </form>
    </body>
    </html>
    

    2.3 home_page.jsp

    在项目 hrmssrc->main->webapp 下新建 JSP 页面 home_page.jsp 作为系统的主页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>hrms_main</title>
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/icon.css">
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
    <script type="text/javascript">
        var url;
        function addTab(url, text, iconCls) {
            var content = "<iframe frameborder=0 scrolling='auto' style='100%;height:100%' src='${pageContext.request.contextPath}/views/"
                    + url + "'></iframe>";
            $("#tabs").tabs("add", {
                title : text,
                iconCls : iconCls,
                closable : true,
                content : content
            });
        }
        function openTab(text, url, iconCls) {
            if ($("#tabs").tabs("exists", text)) {
                $("#tabs").tabs("close", text);
                addTab(url, text, iconCls);
                $("#tabs").tabs("select", text);
            } else {
                addTab(url, text, iconCls);
            }
        }
        /* 退出 */
        function logout() {
            $.messager
                    .confirm(
                            "system prompt",
                            "Do you want to exit?",
                            function(r) {
                                if (r) {
                                    window.location.href = "${pageContext.request.contextPath}/admin/logout";
                                }
                            });
        }
    </script>
    <body class="easyui-layout">
        <div region="north" style="height: 78px; background-color: #ffff">
            <table width="100%">
                <tr>
                    <td width="50%"></td>
                    <td valign="bottom"
                        style="font-size: 20px; color: #8B8B8B; font-family: 'u6977u4f53';"
                        align="right" width="50%"><font size="3">&nbsp;&nbsp;<strong>Current
                                Adminuff1a</strong>
                    </font> <font color="red">${sessionScope.currentAdmin.username}</font></td>
                </tr>
            </table>
        </div>
        <div region="center">
            <div class="easyui-tabs" fit="true" border="false" id="tabs">
                <div title="Home" data-options="iconCls:'icon-home'">
                    <div align="center" style="padding-top: 50px">
                        <font color="grey" size="10">Human Affairs Management System</font>
                    </div>
                    <div align="center" style="padding-top: 20px;">
                        <font style="font-size: 20px;">www.shiyanlou.com</font>
                    </div>
                </div>
            </div>
        </div>
        <div region="west" style=" 200px; height: 500px;"
            title="Navigation Menu" split="true">
            <div class="easyui-accordion">
                <div title="Department Manage"
                    data-options="selected:true,iconCls:'icon-shujias'"
                    style="padding: 10px; height: 10px;">
                    <a href="javascript:openTab(' Department Info','deptManage.jsp')"
                        class="easyui-linkbutton" data-options="plain:true"
                        style=" 150px;"> Department Info</a>
                </div>
    
                <div title="Position Manage"
                    data-options="selected:true,iconCls:'icon-schoolceo'"
                    style="padding: 10px; height: 10px;">
                    <a href="javascript:openTab(' Position Info','positionManage.jsp')"
                        class="easyui-linkbutton" data-options="plain:true"
                        style=" 150px;"> Position Info</a>
                </div>
    
                <div title="Employee Manage" data-options="iconCls:'icon-students' "
                    style="padding: 10px">
                    <a href="javascript:openTab(' Employee Info','employeeManage.jsp')"
                        class="easyui-linkbutton" data-options="plain:true"
                        style=" 150px;">Employee Info</a>
                </div>
    
                <div title="Post Manage"
                    data-options="selected:true,iconCls:'icon-wenzhang'"
                    style="padding: 10px; height: 10px;">
                    <a href="javascript:openTab(' Post Info','postManage.jsp')"
                        class="easyui-linkbutton" data-options="plain:true"
                        style=" 150px;"> Post Info</a>
                </div>
    
                <div title="System Manage" data-options="iconCls:'icon-item'"
                    style="padding: 10px; border: none;">
                    <a
                        href="javascript:openTab(' Admin List','adminManage.jsp','icon-lxr')"
                        class="easyui-linkbutton"
                        data-options="plain:true,iconCls:'icon-lxr'" style=" 150px;">
                        Admin List</a><a href="javascript:logout()" class="easyui-linkbutton"
                        data-options="plain:true,iconCls:'icon-exit'" style=" 150px;">
                        Exit</a>
                </div>
            </div>
        </div>
    </body>
    </html>
    

    2.4 postContent.jsp

    在项目 hrmssrc->main->webapp 下新建 JSP 页面 postContent.jsp 作为公告内容详情的展示页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Post Content</title>
    </head>
    <body>${requestScope.postContent}
    </body>
    </html>
    

    2.5 五大功能模块 JSP 页面

    在项目 hrmssrc->main->webapp 下新建 Folder views

    2.5.1 adminManage.jsp

    在项目 hrmssrc->main->webapp->views 下新建 JSP 页面 adminManage.jsp 作为系统管理页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/icon.css">
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
    <script type="text/javascript">
        var url;
        /* 根据条件查询管理员 */
        function searchAdmin() {
            $("#dg").datagrid('load', {
                "username" : $("#s_username").val()
            });
        }
        /* 删除管理员,可以是多个 */
        function deleteAdmin() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length == 0) {
                $.messager.alert("system prompt",
                        "Please choose the data to delete!");
                return;
            }
            var strIds = [];
            for ( var i = 0; i < selectedRows.length; i++) {
                strIds.push(selectedRows[i].id);
            }
            var ids = strIds.join(",");
            $.messager
                    .confirm(
                            "system prompt",
                            "Do you want to delete the <font color=red>"
                                    + selectedRows.length + "</font> data?",
                            function(r) {
                                if (r) {
                                    $
                                            .post(
                                                    "${pageContext.request.contextPath}/admin/delete",
                                                    {
                                                        ids : ids
                                                    },
                                                    function(result) {
                                                        if (result.success) {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete successful!");
                                                            $("#dg").datagrid(
                                                                    "reload");
                                                        } else {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Can't delete superAdmin or current admin!");
                                                        }
                                                    }, "json");
                                }
                            });
        }
    
        function openAdminAddDialog() {
            $("#dlg").dialog("open").dialog("setTitle", "Add new admin");
            url = "${pageContext.request.contextPath}/admin/save";
        }
        /* 保存管理员,根据不同的 url 选择是添加还是修改 */
        function saveAdmin() {
            $("#fm").form("submit", {
                url : url,
                onSubmit : function() {
                    return $(this).form("validate");
                },
                success : function(result) {
                    $.messager.alert("system prompt", "Save successful!");
                    resetValue();
                    $("#dlg").dialog("close");
                    $("#dg").datagrid("reload");
                }
            });
        }
    
        function openAdminModifyDialog() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length != 1) {
                $.messager.alert("system prompt", "Please choose a data to edit!");
                return;
            }
            var row = selectedRows[0];
            if (row.id == 1) {
                $.messager.alert("system prompt",
                        "Can't modity superadmin' information!");
                return;
            }
            $("#dlg").dialog("open").dialog("setTitle", "Edit admin information");
            $('#fm').form('load', row);
            $("#password").val("******");
            url = "${pageContext.request.contextPath}/admin/save?id=" + row.id;
        }
    
        function resetValue() {
            $("#username").val("");
            $("#password").val("");
        }
    
        function closeAdminDialog() {
            $("#dlg").dialog("close");
            resetValue();
        }
    </script>
    </head>
    <body style="margin: 1px;">
        <table id="dg" title="Admin Manage" class="easyui-datagrid"
            fitColumns="true" pagination="true" rownumbers="true"
            url="${pageContext.request.contextPath}/admin/list" fit="true"
            toolbar="#tb">
            <thead>
                <tr>
                    <th field="cb" checkbox="true" align="center"></th>
                    <th field="id" width="50" align="center">id</th>
                    <th field="username" width="80" align="center">username</th>
                    <th field="role_name" width="80" align="center">role_name</th>
                </tr>
            </thead>
        </table>
        <div id="tb">
            <div>
                <a href="javascript:openAdminAddDialog()" class="easyui-linkbutton"
                    iconCls="icon-add" plain="true">Add</a> <a
                    href="javascript:openAdminModifyDialog()" class="easyui-linkbutton"
                    iconCls="icon-edit" plain="true">Modify</a> <a
                    href="javascript:deleteAdmin()" class="easyui-linkbutton"
                    iconCls="icon-remove" plain="true">Delete</a>
            </div>
            <div>
                &nbsp;Username:&nbsp;<input type="text" id="s_username" size="20"
                    onkeydown="if(event.keyCode==13) searchAdmin()" /> <a
                    href="javascript:searchAdmin()" class="easyui-linkbutton"
                    iconCls="icon-search" plain="true">Search</a>
            </div>
        </div>
    
        <div id="dlg" class="easyui-dialog"
            style=" 620px; height: 250px; padding: 10px 20px" closed="true"
            buttons="#dlg-buttons">
            <form id="fm" method="post">
                <table cellspacing="8px">
                    <tr>
                        <td>Username:</td>
                        <td><input type="text" id="username" name="username"
                            class="easyui-validatebox" required="true" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Password:</td>
                        <td><input type="text" id="password" name="password"
                            class="easyui-validatebox" required="true" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                </table>
            </form>
        </div>
    
        <div id="dlg-buttons">
            <a href="javascript:saveAdmin()" class="easyui-linkbutton"
                iconCls="icon-ok">Save</a> <a href="javascript:closeAdminDialog()"
                class="easyui-linkbutton" iconCls="icon-cancel">Close</a>
        </div>
    </body>
    </html>
    

    2.5.2 postManage.jsp

    在项目 hrmssrc->main->webapp->views 下新建 JSP 页面 postManage.jsp 作为公告管理页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>postManage</title>
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/icon.css">
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/ueditor/ueditor.config.js">
    
    </script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/ueditor/ueditor.all.min.js">
    
    </script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/js/common.js"></script>
    <script type="text/javascript">
        var url;
        function ResetEditor() {
            UE.getEditor('myEditor', {
                initialFrameHeight : 480,
                initialFrameWidth : 660,
                enableAutoSave : false,
                elementPathEnabled : false,
                wordCount : false,
    
            });
        }
        /* 根据条件查询公告 */
        function searchPost() {
            $("#dg").datagrid('load', {
                "title" : $("#postTitle").val(),
            });
        }
        /* 删除公告,可以是多个 */
        function deletePost() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length == 0) {
                $.messager.alert("system prompt", "Please choose a data to edit!");
                return;
            }
            var strIds = [];
            for ( var i = 0; i < selectedRows.length; i++) {
                strIds.push(selectedRows[i].id);
            }
            var ids = strIds.join(",");
            $.messager
                    .confirm(
                            "Please choose a data to edit!",
                            "Do you want to delete the <font color=red>"
                                    + selectedRows.length + "</font> data?",
                            function(r) {
                                if (r) {
                                    $
                                            .post(
                                                    "${pageContext.request.contextPath}/post/delete",
                                                    {
                                                        ids : ids
                                                    },
                                                    function(result) {
                                                        if (result.success) {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete successful!");
                                                            $("#dg").datagrid(
                                                                    "reload");
                                                        } else {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete error!");
                                                        }
                                                    }, "json");
                                }
                            });
    
        }
    
        function openPostAddDialog() {
            var html = '<div id="myEditor" name="content"></div>';
            $('#editor').append(html);
            ResetEditor(editor);
            var ue = UE.getEditor('myEditor');
            ue.ready(function() {
                ue.setContent("");
            });
    
            $("#dlg").dialog("open").dialog("setTitle", "Add post");
            url = "${pageContext.request.contextPath}/post/save";
    
        }
        /* 保存公告,根据不同的 url 选择是添加还是修改 */
        function savePost() {
            $("#fm").form("submit", {
                url : url,
                onSubmit : function() {
                    return $(this).form("validate");
                },
                success : function(result) {
                    $.messager.alert("system prompt", "Save successful!");
                    $("#dlg").dialog("close");
                    $("#dg").datagrid("reload");
                    resetValue();
                }
            });
        }
    
        function openPostModifyDialog() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length != 1) {
                $.messager.alert("system prompt", "Please choose a data to edit!");
                return;
            }
            var row = selectedRows[0];
            $("#dlg").dialog("open").dialog("setTitle", "Edit post");
            $('#fm').form('load', row);
            var html = '<div id="myEditor" name="content"></div>';
            $('#editor').append(html);
            ResetEditor(editor);
            var ue = UE.getEditor('myEditor');
            ue.ready(function() {
                ue.setContent(row.content);
            });
    
            url = "${pageContext.request.contextPath}/post/save?id=" + row.id;
        }
    
        function formatHref(val, row) {
            return "<a href='${pageContext.request.contextPath}/post/getById?id="
                    + row.id + "' target='_blank'>Show Content</a>";
        }
    
        function resetValue() {
            $("#title").val("");
            $("#container").val("");
            ResetEditor();
        }
    
        function closePostDialog() {
            $("#dlg").dialog("close");
            resetValue();
        }
    </script>
    </head>
    <body style="margin: 1px;" id="ff">
        <table id="dg" title="Post Manage" class="easyui-datagrid"
            pagination="true" rownumbers="true" fit="true"
            data-options="pageSize:10"
            url="${pageContext.request.contextPath}/post/list" toolbar="#tb">
            <thead data-options="frozen:true">
                <tr>
                    <th field="cb" checkbox="true" align="center"></th>
                    <th field="id" width="10%" align="center" hidden="true">id</th>
                    <th field="title" width="300" align="center">title</th>
                    <th field="date" width="150" align="center">create_date</th>
                    <th field="admin.username" width="150" align="center">announcer</th>
                    <th field="content" width="150" align="center"
                        formatter="formatHref">operation</th>
                </tr>
            </thead>
        </table>
        <div id="tb">
            <div>
                <a href="javascript:openPostAddDialog()" class="easyui-linkbutton"
                    iconCls="icon-add" plain="true">Add</a> <a
                    href="javascript:openPostModifyDialog()" class="easyui-linkbutton"
                    iconCls="icon-edit" plain="true">Modify</a> <a
                    href="javascript:deletePost()" class="easyui-linkbutton"
                    iconCls="icon-remove" plain="true">Delete</a>
            </div>
            <div>
                &nbsp;Title:&nbsp;<input type="text" id="postTitle" size="20"
                    onkeydown="if(event.keyCode==13) searchPost()" />&nbsp; <a
                    href="javascript:searchPost()" class="easyui-linkbutton"
                    iconCls="icon-search" plain="true">Search</a>
            </div>
        </div>
    
        <div id="dlg" class="easyui-dialog"
            style=" 850px; height: 555px; padding: 10px 20px; position: relative; z-index: 1000;"
            closed="true" buttons="#dlg-buttons">
            <form id="fm" method="post">
                <table cellspacing="8px">
                    <tr>
                        <td>TiTle:</td>
                        <td><input type="text" id="title" name="title"
                            class="easyui-validatebox" required="true" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Content:</td>
                        <td id="editor"></td>
                    </tr>
                </table>
            </form>
        </div>
    
        <div id="dlg-buttons">
            <a href="javascript:savePost()" class="easyui-linkbutton"
                iconCls="icon-ok">Save</a> <a href="javascript:closePostDialog()"
                class="easyui-linkbutton" iconCls="icon-cancel">Close</a>
        </div>
    </body>
    </html>
    

    2.5.3 deptManage.jsp

    在项目 hrmssrc->main->webapp->views 下新建 JSP 页面 deptManage.jsp 作为部门管理页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/icon.css">
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
    <script type="text/javascript">
        var url;
        /* 根据条件查询部门 */
        function searchDept() {
            $("#dg").datagrid('load', {
                "name" : $("#s_name").val()
            });
        }
        /* 删除部门,可以是多个 */
        function deleteDept() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length == 0) {
                $.messager.alert("system prompt",
                        "Please choose the data to delete!");
                return;
            }
            var strIds = [];
            for ( var i = 0; i < selectedRows.length; i++) {
                strIds.push(selectedRows[i].id);
            }
            var ids = strIds.join(",");
            $.messager
                    .confirm(
                            "system prompt",
                            "Do you want to delete the <font color=red>"
                                    + selectedRows.length + "</font> data?",
                            function(r) {
                                if (r) {
                                    $
                                            .post(
                                                    "${pageContext.request.contextPath}/dept/delete",
                                                    {
                                                        ids : ids
                                                    },
                                                    function(result) {
                                                        if (result.success) {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete successful!");
                                                            $("#dg").datagrid(
                                                                    "reload");
                                                        } else {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete error! The department has employees!");
                                                        }
                                                    }, "json");
                                }
                            });
        }
    
        function openDeptAddDialog() {
            $("#dlg").dialog("open").dialog("setTitle", "Add new department");
            url = "${pageContext.request.contextPath}/dept/save";
        }
        /* 保存部门,根据不同的 url 选择是添加还是修改 */
        function saveDept() {
            $("#fm").form("submit", {
                url : url,
                onSubmit : function() {
                    return $(this).form("validate");
                },
                success : function(result) {
                    $.messager.alert("system prompt", "Save successful!");
                    resetValue();
                    $("#dlg").dialog("close");
                    $("#dg").datagrid("reload");
                }
            });
        }
    
        function openDeptModifyDialog() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length != 1) {
                $.messager.alert("system prompt", "Please choose a data to edit!");
                return;
            }
            var row = selectedRows[0];
            $("#dlg").dialog("open").dialog("setTitle",
                    "Edit department information");
            $('#fm').form('load', row);
            url = "${pageContext.request.contextPath}/dept/save?id=" + row.id;
        }
    
        function resetValue() {
            $("#name").val("");
            $("#description").val("");
        }
    
        function closeDeptDialog() {
            $("#dlg").dialog("close");
            resetValue();
        }
    </script>
    </head>
    <body style="margin: 1px;">
        <table id="dg" title="Department Manage" class="easyui-datagrid"
            fitColumns="true" pagination="true" rownumbers="true"
            url="${pageContext.request.contextPath}/dept/list" fit="true"
            toolbar="#tb">
            <thead>
                <tr>
                    <th field="cb" checkbox="true" align="center"></th>
                    <th field="id" width="50" align="center" hidden="true">id</th>
                    <th field="name" width="80" align="center">name</th>
                    <th field="description" width="200" align="center">description</th>
                </tr>
            </thead>
        </table>
        <div id="tb">
            <div>
                <a href="javascript:openDeptAddDialog()" class="easyui-linkbutton"
                    iconCls="icon-add" plain="true">Add</a> <a
                    href="javascript:openDeptModifyDialog()" class="easyui-linkbutton"
                    iconCls="icon-edit" plain="true">Modify</a> <a
                    href="javascript:deleteDept()" class="easyui-linkbutton"
                    iconCls="icon-remove" plain="true">Delete</a>
            </div>
            <div>
                &nbsp;Name:&nbsp;<input type="text" id="s_name" size="20"
                    onkeydown="if(event.keyCode==13) searchDept()" /> <a
                    href="javascript:searchDept()" class="easyui-linkbutton"
                    iconCls="icon-search" plain="true">Search</a>
            </div>
        </div>
    
        <div id="dlg" class="easyui-dialog"
            style=" 450px; height: 250px; padding: 10px 20px" closed="true"
            buttons="#dlg-buttons">
            <form id="fm" method="post">
                <table cellspacing="8px">
                    <tr>
                        <td>Name:</td>
                        <td><input type="text" id="name" name="name"
                            style=" 180px" class="easyui-validatebox" required="true" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Description:</td>
                        <td><textarea id="description" name="description"
                                style=" 180px; height: 80px;" class="easyui-validatebox"
                                required="true"></textarea>&nbsp;<font color="red">*</font></td>
                    </tr>
                </table>
            </form>
        </div>
    
        <div id="dlg-buttons">
            <a href="javascript:saveDept()" class="easyui-linkbutton"
                iconCls="icon-ok">Save</a> <a href="javascript:closeDeptDialog()"
                class="easyui-linkbutton" iconCls="icon-cancel">Close</a>
        </div>
    </body>
    </html>
    

    2.5.4 positionManage.jsp

    在项目 hrmssrc->main->webapp->views 下新建 JSP 页面 positionManage.jsp 作为职位管理页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/icon.css">
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
    <script type="text/javascript">
        var url;
        /* 根据条件查询职位 */
        function searchPosition() {
            $("#dg").datagrid('load', {
                "name" : $("#s_name").val()
            });
        }
        /* 删除职位,可以是多个 */
        function deletePosition() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length == 0) {
                $.messager.alert("system prompt",
                        "Please choose the data to delete!");
                return;
            }
            var strIds = [];
            for ( var i = 0; i < selectedRows.length; i++) {
                strIds.push(selectedRows[i].id);
            }
            var ids = strIds.join(",");
            $.messager
                    .confirm(
                            "system prompt",
                            "Do you want to delete the <font color=red>"
                                    + selectedRows.length + "</font> data?",
                            function(r) {
                                if (r) {
                                    $
                                            .post(
                                                    "${pageContext.request.contextPath}/position/delete",
                                                    {
                                                        ids : ids
                                                    },
                                                    function(result) {
                                                        if (result.success) {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete successful!");
                                                            $("#dg").datagrid(
                                                                    "reload");
                                                        } else {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete error! The position has employees!");
                                                        }
                                                    }, "json");
                                }
                            });
        }
    
        function openPositionAddDialog() {
            $("#dlg").dialog("open").dialog("setTitle", "Add new position");
            url = "${pageContext.request.contextPath}/position/save";
        }
        /* 保存职位,根据不同的 url 选择是添加还是修改 */
        function savePosition() {
            $("#fm").form("submit", {
                url : url,
                onSubmit : function() {
                    return $(this).form("validate");
                },
                success : function(result) {
                    $.messager.alert("system prompt", "Save successful!");
                    resetValue();
                    $("#dlg").dialog("close");
                    $("#dg").datagrid("reload");
                }
            });
        }
    
        function openPositionModifyDialog() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length != 1) {
                $.messager.alert("system prompt", "Please choose a data to edit!");
                return;
            }
            var row = selectedRows[0];
            $("#dlg").dialog("open")
                    .dialog("setTitle", "Edit position information");
            $('#fm').form('load', row);
            url = "${pageContext.request.contextPath}/position/save?id=" + row.id;
        }
    
        function resetValue() {
            $("#name").val("");
            $("#description").val("");
        }
    
        function closePositionDialog() {
            $("#dlg").dialog("close");
            resetValue();
        }
    </script>
    </head>
    <body style="margin: 1px;">
        <table id="dg" title="Position Manage" class="easyui-datagrid"
            fitColumns="true" pagination="true" rownumbers="true"
            url="${pageContext.request.contextPath}/position/list" fit="true"
            toolbar="#tb">
            <thead>
                <tr>
                    <th field="cb" checkbox="true" align="center"></th>
                    <th field="id" width="50" align="center" hidden="true">id</th>
                    <th field="name" width="80" align="center">name</th>
                    <th field="description" width="200" align="center">description</th>
                </tr>
            </thead>
        </table>
        <div id="tb">
            <div>
                <a href="javascript:openPositionAddDialog()"
                    class="easyui-linkbutton" iconCls="icon-add" plain="true">Add</a> <a
                    href="javascript:openPositionModifyDialog()"
                    class="easyui-linkbutton" iconCls="icon-edit" plain="true">Modify</a>
                <a href="javascript:deletePosition()" class="easyui-linkbutton"
                    iconCls="icon-remove" plain="true">Delete</a>
            </div>
            <div>
                &nbsp;Name:&nbsp;<input type="text" id="s_name" size="20"
                    onkeydown="if(event.keyCode==13) searchPosition()" /> <a
                    href="javascript:searchPosition()" class="easyui-linkbutton"
                    iconCls="icon-search" plain="true">Search</a>
            </div>
        </div>
    
        <div id="dlg" class="easyui-dialog"
            style=" 450px; height: 250px; padding: 10px 20px" closed="true"
            buttons="#dlg-buttons">
            <form id="fm" method="post">
                <table cellspacing="8px">
                    <tr>
                        <td>Name:</td>
                        <td><input type="text" id="name" name="name"
                            style=" 180px" class="easyui-validatebox" required="true" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Description:</td>
                        <td><textarea id="description" name="description"
                                style=" 180px; height: 80px;" class="easyui-validatebox"
                                required="true"></textarea>&nbsp;<font color="red">*</font></td>
                    </tr>
                </table>
            </form>
        </div>
    
        <div id="dlg-buttons">
            <a href="javascript:savePosition()" class="easyui-linkbutton"
                iconCls="icon-ok">Save</a> <a href="javascript:closePositionDialog()"
                class="easyui-linkbutton" iconCls="icon-cancel">Close</a>
        </div>
    </body>
    </html>
    

    2.5.5 employeeManage.jsp

    在项目 hrmssrc->main->webapp->views 下新建 JSP 页面 employeeManage.jsp 作为员工管理页面,并添加如下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css"
        href="${pageContext.request.contextPath}/jquery-easyui-1.3.3/themes/icon.css">
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
    <script type="text/javascript"
        src="${pageContext.request.contextPath}/jquery-easyui-1.3.3/locale/easyui-lang-zh_CN.js"></script>
    <script type="text/javascript">
        var url;
        var firstDepartmentId;
        var firstDepartmentName;
        var firstPositionId;
        var firstPositionName;
        var submitDeptId;
        var submitPosId;
        var updateFlag;
        /* 根据条件查询员工 */
        function searchEmpl() {
            $("#dg").datagrid('load', {
                "id" : $("#e_id").val(),
                "name" : $("#e_name").val(),
                "department.name" : $("#e_dept").val(),
                "position.name" : $("#e_position").val(),
                "sex" : $("#e_sex").val()
            });
        }
        /* 删除员工,可以是多个 */
        function deleteEmpl() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length == 0) {
                $.messager.alert("system prompt",
                        "Please choose the data to delete!");
                return;
            }
            var strIds = [];
            for ( var i = 0; i < selectedRows.length; i++) {
                strIds.push(selectedRows[i].id);
            }
            var ids = strIds.join(",");
            $.messager
                    .confirm(
                            "system prompt",
                            "Do you want to delete the <font color=red>"
                                    + selectedRows.length + "</font> data?",
                            function(r) {
                                if (r) {
                                    $
                                            .post(
                                                    "${pageContext.request.contextPath}/empl/delete",
                                                    {
                                                        ids : ids
                                                    },
                                                    function(result) {
                                                        if (result.success) {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete successful!");
                                                            $("#dg").datagrid(
                                                                    "reload");
                                                        } else {
                                                            $.messager
                                                                    .alert(
                                                                            "system prompt",
                                                                            "Delete error!");
                                                        }
                                                    }, "json");
                                }
                            });
        }
    
        function openEmplAddDialog() {
            $("#dlg").dialog("open").dialog("setTitle", "Add new employee");
            $("#id").attr("readOnly", false);
            url = "${pageContext.request.contextPath}/empl/save";
            updateFlag = "no";
        }
        /* 保存员工,根据不同的 url 选择是添加还是修改 */
        function saveEmpl() {
            submitDeptId = $("#dept").combobox('getValue');
            submitPosId = $("#pos").combobox('getValue');
            $("#fm")
                    .form(
                            "submit",
                            {
                                url : url + "?dept_id= " + submitDeptId
                                        + "&pos_id= " + submitPosId
                                        + "&updateFlag=" + updateFlag,
                                onSubmit : function() {
                                    var msg = "";
                                    // 进行输入信息的校验,非空,id 和 phone 的格式
                                    if (!$(this).form("validate")) {
                                        msg = "all information can't be empty!";
                                    } else if (!/^[0-9]+$/.test($("#id").val())) {
                                        msg = "Please input number type for id!";
                                    } else if (!/^1[3|5|7|8]d{9}$/
                                            .test($("#phone").val())) {
                                        msg = "Please input right phone!";
                                    }
                                    if (msg != "") {
                                        $.messager.alert("system prompt", msg);
                                        return false;
                                    } else {
                                        return true;
                                    }
                                },
                                success : function(data) {
                                    var result = eval('(' + data + ')');
                                    if (result.success) {
                                        $.messager.alert("system prompt",
                                                "Save successful!");
                                        resetValue();
                                        $("#dlg").dialog("close");
                                        $("#dg").datagrid("reload");
                                    } else {
                                        $.messager
                                                .alert("system prompt",
                                                        "The id already exists,please input a new id!");
                                    }
                                }
                            });
        }
    
        function openEmplModifyDialog() {
            var selectedRows = $("#dg").datagrid('getSelections');
            if (selectedRows.length != 1) {
                $.messager.alert("system prompt", "Please choose a data to edit!");
                return;
            }
            var row = selectedRows[0];
            $("#dlg").dialog("open")
                    .dialog("setTitle", "Edit employee information");
            $("#id").attr("readOnly", true);
            $('#fm').form('load', row);
            $('#birthday').datebox('setValue', row.birthday);
            $('#dept').combobox('setValue', row.department.id);
            $('#dept').combobox('setText', row.department.name);
            $('#pos').combobox('setValue', row.position.id);
            $('#pos').combobox('setText', row.position.name);
            url = "${pageContext.request.contextPath}/empl/save";
            updateFlag = "yes";
        }
    
        function resetValue() {
            $("#id").val("");
            $("#id").attr("readOnly", false);
            $("#name").val("");
            $('#sex').combobox('setValue', "male");
            $("#phone").val("");
            $("#email").val("");
            $("#address").val("");
            $('#education').combobox('setValue', "Bachelor");
            $('#birthday').datebox('setValue', formatterDate(new Date()));
            $('#dept').combobox('setValue', firstDepartmentId);
            $('#dept').combobox('setText', firstDepartmentName);
            $('#pos').combobox('setValue', firstPositionId);
            $('#pos').combobox('setText', firstPositionName);
        }
    
        function closeEmplDialog() {
            $("#dlg").dialog("close");
            resetValue();
        }
        /* 为部门的 combobox 设默认值 */
        $(document).ready(function() {
            $.ajax({
                url : '${pageContext.request.contextPath}/dept/getcombobox',
                type : 'post',
                success : function(data) {
                    if (data) {
                        $('#dept').combobox('setValue', data[0].id);
                        $('#dept').combobox('setText', data[0].name);
                        firstDepartmentId = data[0].id;
                        firstDepartmentName = data[0].name;
                    }
                }
            });
        });
        /* 为职位的 combobox 设默认值 */
        $(document).ready(function() {
            $.ajax({
                url : '${pageContext.request.contextPath}/position/getcombobox',
                type : 'post',
                success : function(data) {
                    if (data) {
                        $('#pos').combobox('setValue', data[0].id);
                        $('#pos').combobox('setText', data[0].name);
                        firstPositionId = data[0].id;
                        firstPositionName = data[0].name;
                    }
                }
            });
        });
    
        /* 设置 datebox 默认值为指定格式的当前日期 */
        formatterDate = function(date) {
            var day = date.getDate() > 9 ? date.getDate() : "0" + date.getDate();
            var month = (date.getMonth() + 1) > 9 ? (date.getMonth() + 1) : "0"
                    + (date.getMonth() + 1);
            return date.getFullYear() + '-' + month + '-' + day;
        };
    
        window.onload = function() {
            $('#birthday').datebox('setValue', formatterDate(new Date()));
        };
    </script>
    </head>
    <body style="margin: 1px;">
        <table id="dg" title="Employee Manage" class="easyui-datagrid"
            fitColumns="true" pagination="true" rownumbers="true"
            url="${pageContext.request.contextPath}/empl/list" fit="true"
            toolbar="#tb">
            <thead>
                <tr>
                    <th field="cb" checkbox="true" align="center"></th>
                    <th field="id" width="50" align="center">id</th>
                    <th field="name" width="80" align="center">name</th>
                    <th field="sex" width="50" align="center">sex</th>
                    <th field="phone" width="80" align="center">phone</th>
                    <th field="email" width="100" align="center">email</th>
                    <th field="address" width="80" align="center">address</th>
                    <th field="education" width="60" align="center">education</th>
                    <th field="birthday" width="80" align="center">birthday</th>
                    <th field="department.id" width="50" align="center" hidden="true">dept_id</th>
                    <th field="department.name" width="80" align="center">department</th>
                    <th field="position.id" width="50" align="center" hidden="true">pos_id</th>
                    <th field="position.name" width="80" align="center">position</th>
                </tr>
            </thead>
        </table>
        <div id="tb">
            <div>
                <a href="javascript:openEmplAddDialog()" class="easyui-linkbutton"
                    iconCls="icon-add" plain="true">Add</a> <a
                    href="javascript:openEmplModifyDialog()" class="easyui-linkbutton"
                    iconCls="icon-edit" plain="true">Modify</a> <a
                    href="javascript:deleteEmpl()" class="easyui-linkbutton"
                    iconCls="icon-remove" plain="true">Delete</a>
            </div>
            <div>
                <table>
                    <tr>
                        <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID:&nbsp;
                            <input type="text" id="e_id" size="20"
                            onkeydown="if(event.keyCode==13) searchEmpl()" />
                        </td>
                        <td>&nbsp;Name:&nbsp; <input type="text" id="e_name" size="20"
                            onkeydown="if(event.keyCode==13) searchEmpl()" />
                        </td>
                        <td>&nbsp;Department:&nbsp; <input type="text" id="e_dept"
                            size="20" onkeydown="if(event.keyCode==13) searchEmpl()" />
                        </td>
                    </tr>
                    <tr>
                        <td>&nbsp;Position:&nbsp;<input type="text" id="e_position"
                            size="20" onkeydown="if(event.keyCode==13) searchEmpl()" />
                        </td>
                        <td>&nbsp;&nbsp;&nbsp;&nbsp;Sex:&nbsp; <input type="text"
                            id="e_sex" size="20"
                            onkeydown="if(event.keyCode==13) searchEmpl()" />
                        </td>
                        <td>&nbsp;&nbsp;&nbsp;<a href="javascript:searchEmpl()"
                            class="easyui-linkbutton" iconCls="icon-search" plain="true">Search</a>
                        </td>
                    </tr>
                </table>
            </div>
        </div>
    
        <div id="dlg" class="easyui-dialog"
            style=" 500px; height: 550px; padding: 10px 20px" closed="true"
            buttons="#dlg-buttons">
            <form id="fm" method="post">
                <table cellspacing="8px">
                    <tr>
                        <td>ID:</td>
                        <td><input type="text" id="id" name="id" style=" 210px"
                            class="easyui-validatebox"
                            data-options="required:true,validType:'digits'" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Name:</td>
                        <td><input type="text" id="name" name="name"
                            style=" 210px" class="easyui-validatebox" required="true" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Sex:</td>
                        <td><select id="sex" class="easyui-combobox" name="sex"
                            style=" 220px; heigth: 60px"
                            data-options="editable:false,panelHeight:'auto'">
                                <option>male</option>
                                <option>female</option>
                        </select></td>
                    </tr>
                    <tr>
                        <td>Phone:</td>
                        <td><input type="text" id="phone" name="phone"
                            style=" 210px" class="easyui-validatebox" required="true" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Email:</td>
                        <td><input type="text" id="email" name="email"
                            style=" 210px" class="easyui-validatebox"
                            data-options="required:true,validType:'email'" />&nbsp;<font
                            color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Address:</td>
                        <td><textarea id="address" name="address"
                                style=" 210px; height: 50px" class="easyui-validatebox"
                                required="true"></textarea>&nbsp;<font color="red">*</font></td>
                    </tr>
                    <tr>
                        <td>Education:</td>
                        <td><select id="education" class="easyui-combobox"
                            name="education" style=" 220px; heigth: 60px"
                            data-options="editable:false,panelHeight:'auto'">
                                <option>Bachelor</option>
                                <option>Master</option>
                                <option>Doctor</option>
                        </select></td>
                    </tr>
                    <tr>
                        <td>Birthday:</td>
                        <td><input id="birthday" name="birthday" type="text"
                            class="easyui-datebox" data-options="editable:false"
                            required="required" style=" 220px"></td>
                    </tr>
                    <tr>
                        <td>Department:</td>
                        <td><select class="easyui-combobox" id="dept" name="dept"
                            data-options="url:'${pageContext.request.contextPath}/dept/getcombobox',  
                                               method:'post',  
                                               valueField:'id',  
                                               textField:'name', 
                                               editable:false, 
                                               panelHeight:'auto'"
                            style=" 220px"></select></td>
                    </tr>
                    <tr>
                        <td>Position:</td>
                        <td><select class="easyui-combobox" id="pos" name="pos"
                            data-options="url:'${pageContext.request.contextPath}/position/getcombobox',  
                                               method:'post',  
                                               valueField:'id',  
                                               textField:'name', 
                                               editable:false, 
                                               panelHeight:'auto'"
                            style=" 220px"></select></td>
                    </tr>
    
                </table>
            </form>
        </div>
    
    
        <div id="dlg-buttons">
            <a href="javascript:saveEmpl()" class="easyui-linkbutton"
                iconCls="icon-ok">Save</a> <a href="javascript:closeEmplDialog()"
                class="easyui-linkbutton" iconCls="icon-cancel">Close</a>
        </div>
    </body>
    </html>
    

    三、实验总结

    到这里我们就完成了表现层 JSP 代码的实现,下一节我们将完成拦截器和 Spring MVC 框架的整合。

  • 相关阅读:
    js实现粘贴板复制
    oracle分页查询
    [小技巧]window10删除此电脑左侧栏中的非磁盘文件夹
    [web]2019第一起数据泄露事件
    [xml]AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getroot'
    [python]Mongodb
    [urllib]urlretrieve在python3
    [flask]邮件配置-20171227
    [PowerShell]Python虚拟环境激活失败
    [git]git入门
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/7076765.html
Copyright © 2020-2023  润新知