zoukankan      html  css  js  c++  java
  • 人人权限 添加一张表查询出来

     1、在人人数据库中创建一张学生表

    CREATE TABLE `test_student` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `name` varchar(100) DEFAULT NULL COMMENT '姓名',
      `sex` varchar(20) DEFAULT NULL COMMENT '性别',
      `age` bigint(20) DEFAULT NULL COMMENT '年龄',
      `score` bigint(20) DEFAULT NULL COMMENT '分数',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='学生表';

    2、编译启动项目,通过系统自带的 代码生成器生成对应的java代码及 html、 js、sql文件。文件结构如下:

    mainjavaio enrencontrollerTestStudentController.java;
    mainjavaio enrendaoTestStudentDao.java;
    mainjavaio enrendaoTestStudentDao.xml;
    mainjavaio enrenentityTestStudentEntity.java;
    mainjavaio enrenserviceimplTestStudentServiceImpl.java;
    mainjavaio enrenserviceTestStudentService.java;
    mainwebappjsgenerator eststudent.js; //这里的文件结构和本人的有出入,红色的 应该为sys
    mainwebappWEB-INFpagegenerator eststudent.html;//这里的文件结构和本人的有出入,红色的 应该为sys
    eststudent_menu.sql;

    3、a)将以上java、xml文件放到maven的 shiro项目或web项目下都可以【但是要对应放到对应的文件夹结构下】

      因为本人 的人人权限是最新版本,已经被maven分成多模块了(旧的人人项目结构只有一个大的,还没有分模块)

      ===》

    b)  html和js放到web结构下,注意的地方:generator 路径改成sys,如:mainwebappjssys eststudent.js

    c)   teststudent_menu.sql 打开里面的语句放到数据库执行,注意:里面的generator 也是要改成sys

    编译项目,就可以看到新表了:

    4、在网站中菜单管理中添加 一级目录,然后将学生表 移到新创建的一级目录下面:

         ==》

    刷新或重启项目即可看到:

      

    但是缺少了 查询的按钮:本人以为哪个地方没有设定对(因为菜单管理里面已经添加有对应的查询按钮了);还以为是权限问题,最后发现是以下问题:

    5、teststudent.html里面添加对应的标签(<div class="grid-btn">的下方)

                <div class="form-group col-sm-2">
                        <input type="text" class="form-control" v-model="q.name"
                            @keyup.enter="query" placeholder="姓名">
                    </div>

      

     以上截图:绿色的新添加的,后来感觉查询框 姓名 外面的 div应该不用的,

    此时,可以显示查询按钮,但是没有筛选效果

    teststudent.js中vue的  data数据中添加  q:{name: null},  

                methods:方法中添加多 query: function () { vm.reload(); },

    reload方法中对应加入红色句

            reload: function (event) {
                vm.showList = true;
                var page = $("#jqGrid").jqGrid('getGridParam','page');
                $("#jqGrid").jqGrid('setGridParam',{ 
                    postData:{'name': vm.q.name},
                    page:page
                }).trigger("reloadGrid");
            }

    6、TestStudentDao.xml文件中 的<select id="queryList" 的对应添加 语句:下方的红色<where>语句

        <select id="queryList" resultType="io.renren.entity.TestStudentEntity">
            select * from test_student
            <where>
                <if test="name != null and name.trim() != ''">
                    and `name` like concat('%',#{name},'%') 
                </if>
            </where>

    重启项目 OK

        

      

     拓展:后来在里面添加多一个 查询各科成绩的按钮,其实所有的html元素都在一个页面里面,只不过通过 

    ==后来想做二级查询的,没有弄好:最终:

    加多了 对查询的权限控制,为了添加这个权限控制 写漏了个  #end 页面错误 查找了很久,揪心。

    #if($shiro.hasPermission("teststudent:list")) <a
                            class="btn btn-default" @click="query">查询</a> #end
    <!DOCTYPE html>
    <html>
    <head>
    <title>学生表</title> #parse("sys/header.html")
    </head>
    <body>
        <div id="rrapp" v-cloak>
            <div v-show="!showGrade">
    
                <div v-show="showList">
                    <div class="grid-btn">
                        <div class="form-group col-sm-2">
                            <input type="text" class="form-control" v-model="q.name"
                                @keyup.enter="query" placeholder="姓名">
                        </div>
                        #if($shiro.hasPermission("teststudent:list")) <a
                            class="btn btn-default" @click="query">查询</a> #end
                        #if($shiro.hasPermission("teststudent:save")) <a
                            class="btn btn-primary" @click="add"><i class="fa fa-plus"></i>&nbsp;新增</a>
                        #end #if($shiro.hasPermission("teststudent:update")) <a
                            class="btn btn-primary" @click="update"><i
                            class="fa fa-pencil-square-o"></i>&nbsp;修改</a> #end
                        #if($shiro.hasPermission("teststudent:delete")) <a
                            class="btn btn-primary" @click="del"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
                        #end #if($shiro.hasPermission("teststudent:delete")) <a
                            class="btn btn-primary" @click="querygrade"><i class=""></i>&nbsp;查询成绩</a>
                        #end
                    </div>
                    <table id="jqGrid"></table>
                    <div id="jqGridPager"></div>
                </div>
    
                <div v-show="!showList" class="panel panel-default">
                    <div class="panel-heading">{{title}}</div>
                    <form class="form-horizontal">
                        <div class="form-group">
                            <div class="col-sm-2 control-label">姓名</div>
                            <div class="col-sm-10">
                                <input type="text" class="form-control"
                                    v-model="testStudent.name" placeholder="姓名" />
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-2 control-label">性别</div>
                            <div class="col-sm-10">
                                <input type="text" class="form-control" v-model="testStudent.sex"
                                    placeholder="性别" />
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-2 control-label">年龄</div>
                            <div class="col-sm-10">
                                <input type="text" class="form-control" v-model="testStudent.age"
                                    placeholder="年龄" />
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-2 control-label">分数</div>
                            <div class="col-sm-10">
                                <input type="text" class="form-control"
                                    v-model="testStudent.score" placeholder="分数" />
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-2 control-label"></div>
                            <input type="button" class="btn btn-primary" @click="saveOrUpdate"
                                value="确定" /> &nbsp;&nbsp;<input type="button"
                                class="btn btn-warning" @click="reload" value="返回" />
                        </div>
                    </form>
                </div>
            </div>
            <div v-show="showGrade" class="panel panel-default">
                <div class="panel-heading">{{title}}</div>
                <form class="form-horizontal">
                    <div class="form-group">
                        <div class="col-sm-2 control-label">姓名</div>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" v-model="testStudent.name"
                                placeholder="姓名" />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-2 control-label">语文成绩</div>
                        <div class="col-sm-10">
                            <input type="text" class="form-control"
                                v-model="testStudent.score" placeholder="分数" />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-2 control-label">数学成绩</div>
                        <div class="col-sm-10">
                            <input type="text" class="form-control"
                                v-model="testStudent.score" placeholder="分数" />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-2 control-label">英语成绩</div>
                        <div class="col-sm-10">
                            <input type="text" class="form-control"
                                v-model="testStudent.score" placeholder="分数" />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-2 control-label"></div>
                        <input type="button" class="btn btn-primary" @click="query"
                            value="确定" /> &nbsp;&nbsp;<input type="button"
                            class="btn btn-warning" @click="reload" value="返回" />
                    </div>
                </form>
            </div>
        </div>
        <script
            src="${rc.contextPath}/js/sys/teststudent.js?_${date.systemTime}"></script>
    </body>
    </html>
    teststudent.html页面
  • 相关阅读:
    NOIP201208同余方程
    NOIP模拟赛 最佳组合
    NOIP模拟赛 拓展
    CF1253E Antenna Coverage(DP)
    LOJ6033「雅礼集训 2017 Day2」棋盘游戏 (博弈论,二分图,匈牙利算法)
    CF582E Boolean Function(DP,状态压缩,FMT)
    CF750G New Year and Binary Tree Paths(DP)
    Codeforces Round 596 题解
    AGC008E Next or Nextnext(组合计数,神奇思路)
    ARC082E ConvexScore(神奇思路)
  • 原文地址:https://www.cnblogs.com/rogge7/p/7056680.html
Copyright © 2011-2022 走看看