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注解
angularJS新增 品优购新增品牌的更多相关文章
- angularJS修改 品优购修改品牌(新增和修改用同一个方法)
前端代码 brand.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- angularJS批量删除 品优购删除品牌(通用复选框批量选中删除解决思路)
思路: 一步:在点击复选框时维护变量数组 在js中定义一个数组变量, 给复选框添加点击动作, 在动作中判断当前复选框是否为选中状态(即点击后复选框的是否选中状态), 若为选中状态,则向数组中添加选中的 ...
- 项目二:品优购 第二天 AngularJS使用 brand商品页面的增删改查
品优购电商系统开发 第2章 品牌管理 传智播客.黑马程序员 1.前端框架AngularJS入门 1.1 AngularJS简介 AngularJS 诞生于2009年,由Misko Hevery 等人 ...
- 品优购商城项目(二)AngularJS、自动代码生成器、select2下拉多选框
品优购商城想项目第二阶段 AngularJS.自动代码生成器.select2下拉多选框 完成了课程第三天.第四天的的任务. 1.学习了AngularJs前端的mvc分层思想,js部分分成control ...
- 品优购(IDEA版)-第二天
品优购-第2天 学习目标 目标1:运用AngularJS前端框架的常用指令 目标2:完成品牌管理的列表功能 目标3:完成品牌管理的分页列表功能 目标4:完成品牌管理的增加功能 目标5:完成品牌管理的修 ...
- 品优购(IDEA版)-第一天
# 品优购(IDEA版)-第一天 品优购IDEA版应该是2019年的新项目.目前只有视频.资料其他都还是旧的. ## 1.学习目标 1:了解电商行业特点以及理解电商的模式 2:了解整体品优购的架构特点 ...
- 品优购商城项目(二)mybatis分页插件
品优购商城项目第二天,使用mybatis分页插件实现分页.主要实现的是 SSM整合mybatis分页. 一.引用mybatis分页插件 SqlMapConfig.xml <?xml versio ...
- 品优购商城项目(六)CAS客户端与SpringSecurity集成
cas单点登录旨在解决传统登录模式session在分布式项目中共享登录信息的问题. 本文cas服务器使用 4.0版本,仅供学习参考.把 cas.war 直接部署在tomcat即可,这里有个固定的用户名 ...
- 品优购商城项目(三)安全框架SpringSecurity
品优购商城项目第三阶段 1.springSecurity的基本用法与shiro类似. 2.BCrypt加密算法比MD5更加智能和安全,能自动加盐再加密,生成的密码是60位比md5的32位更占空间(可以 ...
随机推荐
- 使用InstallShield-Limited-Edition制作安装包
1.打开此网站,进行注册,获取序列码以及下载InstallShield-Limited-Edition 2.安装完成之后,打开VisualStudio,新建项目 3.填写基本应用信息 4.配置相关信息 ...
- SVG Sprite 使用Symbol元素制作ICON
介绍 SVG是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法.之前写过两篇关于CSS icon在页面显示的博客,后来了解到现在大多数前端团队和项目都在使用SVG Sprite这种方 ...
- 剑指offer-整数中1出现的次数27
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
- phantomjs抛出IOException
使用phantomjs对网页进行截图遇到的问题 问题描述: 使用的phantomjs版本:phantomjs-2.1.1-windows 使用的截图js文件,\phantomjs-2.1.1-wind ...
- 11.24Daily Scrum(3)
人员 任务分配完成情况 明天任务分配 王皓南 实现网页上视频浏览的功能.研究相关的代码和功能.1002 数据库测试 申开亮 实现网页上视频浏览的功能.研究相关的代码和功能.1003 实现视频浏览的功能 ...
- 总结get和post区别
参考博文: 浅谈HTTP中Get与Post的区别 1. 数据传递方向: Get是向服务器发索取数据的一种请求,Post是向服务器提交数据的一种请求 (都是请求,并不是一个取一个发) Get:①用于获取 ...
- java的参数传递
1按值传递:传递的是原始值的副本,而不是原始值的内存地址 基本数据类型是传原始值的副本 class Test02 { public static void main(String[] args) { ...
- python学习第一天-语法学习
1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来自 ...
- eclipse 创建并运行maven web项目
这两天想在eclipse上运行maven web项目,折腾了许久,总算success啦. 1,利用eclipse创建dynamic web project(eclipse需要安装m2eclipse). ...
- Python的压缩文件处理 zipfile & tarfile
本文从以下两个方面, 阐述Python的压缩文件处理方式: 一. zipfile 二. tarfile 一. zipfile 虽然叫zipfile,但是除了zip之外,rar,war,jar这些压缩( ...