zoukankan      html  css  js  c++  java
  • angularJS新增 品优购新增品牌

    前台代码 brand.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>品牌管理</title>
    <meta
        content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"
        name="viewport">
    <link rel="stylesheet" href="../plugins/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="../plugins/adminLTE/css/AdminLTE.css">
    <link rel="stylesheet"
        href="../plugins/adminLTE/css/skins/_all-skins.min.css">
    <link rel="stylesheet" href="../css/style.css">
    <script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>
    <script src="../plugins/bootstrap/js/bootstrap.min.js"></script>
    <!-- 引入angularJS -->
    <script src="../plugins/angularjs/angular.min.js"></script>
    
    <!-- 分页插件使用 -->
    <script src="../plugins/angularjs/pagination.js"></script>
    <link rel="stylesheet" href="../plugins/angularjs/pagination.css">
    
    <script type="text/javascript">
        var app = angular.module("pingyougou", [ "pagination" ]);
        app.controller("brandController", function($scope, $http) {
            //分页查询品牌列表
            //【其实在分页插件内部就有当页面一加载就执行一遍请求的方法调用,所以我们在这块代码中不用再显示的写一遍$scope.reloadList()】
    
            //分页控件配置 
            /* 
             currentPage: 当前页
             totalItems: 总记录数
             itemsPerPage: 每页记录数
             perPageOptions: [10, 20, 30, 40, 50], 分页选项【就是每页显示几条记录的备选下拉】
             onChange: 当页面变更后自动触发的方法
            
             */
            $scope.paginationConf = {
                currentPage : 1,
                totalItems : 10,
                itemsPerPage : 10,
                perPageOptions : [ 10, 20, 30, 40, 50 ],
                onChange : function() {
                    $scope.reloadList();//重新加载
                }
            };
    
            //刷新列表【因为要频繁使用,避免写很长代码,这里封装成一个方法】
            $scope.reloadList = function() {
                //调用分页请求方法
                $scope.findPage($scope.paginationConf.currentPage,
                        $scope.paginationConf.itemsPerPage);
            }
    
            //分页请求方法
            $scope.findPage = function(page, size) {
                $http.get("../brand/findPage.do?page=" + page + "&size=" + size)
                        .success(function(response) {
                            $scope.list = response.rows; //显示当前页数据
                            $scope.paginationConf.totalItems = response.total;//更新总记录数
                        });
            }
            
            //新增方法
            $scope.add = function(){ //entity是我们在$scope中自定义的一个ang变量
                $http.post("../brand/add.do?",$scope.entity).success(
                        function(response){
                            if(response.success){
                                $scope.reloadList();//刷新
                            }else{
                                alert(response.message);
                        }
                });
                
            }
    
        });
    </script>
    
    </head>
    <body class="hold-transition skin-red sidebar-mini" ng-app="pingyougou"
        ng-controller="brandController">
        <!-- .box-body -->
        <div class="box-header with-border">
            <h3 class="box-title">品牌管理</h3>
        </div>
    
        <div class="box-body">
    
            <!-- 数据表格 -->
            <div class="table-box">
    
                <!--工具栏-->
                <div class="pull-left">
                    <div class="form-group form-inline">
                        <div class="btn-group">
                        <!-- ng-click="entity={}" 用于清空上次数据使每次点新建打开的都是干净的表单;因为逻辑简单所以不用封装方法,若逻辑复杂可以封装方法-->
                            <button type="button" class="btn btn-default" title="新建"
                                data-toggle="modal" data-target="#editModal" ng-click="entity={}">
                                <i class="fa fa-file-o"></i> 新建
                            </button>
                            <button type="button" class="btn btn-default" title="删除">
                                <i class="fa fa-trash-o"></i> 删除
                            </button>
                            <button type="button" class="btn btn-default" title="刷新"
                                onclick="window.location.reload();">
                                <i class="fa fa-refresh"></i> 刷新
                            </button>
                        </div>
                    </div>
                </div>
                <div class="box-tools pull-right">
                    <div class="has-feedback"></div>
                </div>
                <!--工具栏/-->
    
                <!--数据列表-->
                <table id="dataList"
                    class="table table-bordered table-striped table-hover dataTable">
                    <thead>
                        <tr>
                            <th class="" style="padding-right: 0px">
                                <input id="selall" type="checkbox" class="icheckbox_square-blue">
                            </th>
                            <th class="sorting_asc">品牌ID</th>
                            <th class="sorting">品牌名称</th>
                            <th class="sorting">品牌首字母</th>
                            <th class="text-center">操作</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr ng-repeat="entity in list">
                            <td><input type="checkbox"></td>
                            <td>{{entity.id}}</td>
                            <td>{{entity.name}}</td>
                            <td>{{entity.firstChar}}</td>
                            <td class="text-center">
                                <button type="button" class="btn bg-olive btn-xs"
                                    data-toggle="modal" data-target="#editModal">修改</button>
                            </td>
                        </tr>
    
                    </tbody>
                </table>
                <!-- 分页 -->
                <tm-pagination conf="paginationConf"></tm-pagination>
    
            </div>
            <!-- 数据表格 /-->
    
    
    
    
        </div>
        <!-- /.box-body -->
    
        <!-- 编辑窗口 -->
        <div class="modal fade" id="editModal" tabindex="-1" role="dialog"
            aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal"
                            aria-hidden="true">×</button>
                        <h3 id="myModalLabel">品牌编辑</h3>
                    </div>
                    <div class="modal-body">
                        <table class="table table-bordered table-striped" width="800px">
                            <tr><!-- 只要你在当前文本框中填值,那么它就会自动封装到entity变量中的name属性中,这样entity变量就自动产生了 -->
                                <td>品牌名称</td>
                                <td><input class="form-control" placeholder="品牌名称" ng-model="entity.name">
                                </td>
                            </tr>
                            <tr>
                                <td>首字母</td>
                                <td><input class="form-control" placeholder="首字母" ng-model="entity.firstChar"></td>
                            </tr>
                        </table>
                    </div>
                    <div class="modal-footer"><!-- 用ng-click指令绑定点击时执行ang中定义的方法 -->
                        <button class="btn btn-success" data-dismiss="modal"
                            aria-hidden="true" ng-click="add()">保存</button>
                        <button class="btn btn-default" data-dismiss="modal"
                            aria-hidden="true">关闭</button>
                    </div>
                </div>
            </div>
        </div>
    
    </body>
    </html>

    Controller方法:

        @RequestMapping("/add")
        public Result add(@RequestBody TbBrand brand){
            try {
                brandService.add(brand);
                return new Result(true, "增加成功");
            } catch (Exception e) {
                e.printStackTrace();
                return new Result(false, "增加失败");
            }
        }

    需要注意的就是用上面的 add方法中的 $http.post请求的参数是json对象,所以在Controller中要加入 @RequestBody注解

  • 相关阅读:
    各国语言缩写列表,各国语言缩写-各国语言简称,世界各国域名缩写
    How to see log files in MySQL?
    git 设置和取消代理
    使用本地下载和管理的免费 Windows 10 虚拟机测试 IE11 和旧版 Microsoft Edge
    在Microsoft SQL SERVER Management Studio下如何完整输出NVARCHAR(MAX)字段或变量的内容
    windows 10 x64系统下在vmware workstation pro 15安装macOS 10.15 Catelina, 并设置分辨率为3840x2160
    在Windows 10系统下将Git项目签出到磁盘分区根目录的方法
    群晖NAS(Synology NAS)环境下安装GitLab, 并在Windows 10环境下使用Git
    使用V-2ray和V-2rayN搭建本地代理服务器供局域网用户连接
    windows 10 专业版安装VMware虚拟机碰到的坑
  • 原文地址:https://www.cnblogs.com/libin6505/p/10071999.html
Copyright © 2011-2022 走看看