当前位置: 首页 > news >正文

无锡做网站公司哪家好做性的网站有哪些

无锡做网站公司哪家好,做性的网站有哪些,优化大师软件下载,网站班级文化建设视频引言 在现代Web应用程序开发中#xff0c;前后端分离架构越来越受欢迎。这种架构使得前端和后端开发可以并行进行#xff0c;提高了开发效率。本文将详细讲解如何使用SpringBoot作为后端#xff0c;Vue.js和ElementUI作为前端#xff0c;实现一个带分页功能的数据表格前后端分离架构越来越受欢迎。这种架构使得前端和后端开发可以并行进行提高了开发效率。本文将详细讲解如何使用SpringBoot作为后端Vue.js和ElementUI作为前端实现一个带分页功能的数据表格el-table。分页功能在处理大量数据时必不可少可以有效提升用户体验和系统性能。 分页概述 分页Pagination是Web应用程序中常见的需求特别是在需要显示大量数据时。分页的目的是将数据分成多个页面每次只显示一部分数据从而避免加载和显示全部数据带来的性能问题。分页通常涉及以下几个概念 当前页Current Page用户当前正在查看的页面。每页条数Page Size每页显示的数据条数。总条数Total Items数据的总条数。总页数Total Pages总数据条数除以每页条数得到的总页数。 分页的关键点 在实现分页功能时有几个关键点需要注意 后端实现分页逻辑后端需要提供分页接口根据请求参数返回对应页的数据和总条数。前端展示分页数据前端需要展示分页数据并提供分页控件让用户切换页面。分页状态管理前端需要管理分页状态如当前页、每页条数等并在状态变化时更新数据。 项目结构 首先我们需要创建一个SpringBoot项目和一个Vue项目。假设你已经熟悉这两个框架的基本用法下面是项目的基本结构 SpringBoot项目结构 src ├── main │ ├── java │ │ └── com.example.demo │ │ ├── controller │ │ ├── entity │ │ ├── repository │ │ ├── service │ │ └── DemoApplication.java │ └── resources │ ├── application.properties │ └── data.sqlVue项目结构 src ├── assets ├── components ├── views │ └── TableView.vue ├── App.vue └── main.js后端实现 创建实体类 首先在SpringBoot项目中创建一个实体类User用于表示表格中的数据。 package com.example.demo.entity;import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;Entity public class User {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long id;private String name;private String email;// Getters and Setters }代码讲解 Entity表示该类是一个JPA实体。Id指定该字段为实体的主键。GeneratedValue(strategy GenerationType.IDENTITY)主键自增策略。Long id主键ID。String name和String email用户的姓名和邮箱。 创建仓库接口 接下来创建一个JPA仓库接口UserRepository用于与数据库交互。 package com.example.demo.repository;import com.example.demo.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;Repository public interface UserRepository extends JpaRepositoryUser, Long { }代码讲解 Repository表示该接口是一个Spring Data JPA仓库。JpaRepositoryUser, Long继承自JpaRepository提供了常用的数据库操作方法如增删改查。 创建服务类 在服务类中编写分页查询的逻辑。这里我们使用Spring Data JPA提供的分页功能。 package com.example.demo.service;import com.example.demo.entity.User; import com.example.demo.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service;Service public class UserService {Autowiredprivate UserRepository userRepository;public PageUser getUsers(int page, int size) {return userRepository.findAll(PageRequest.of(page, size));} }代码讲解 Service表示该类是一个服务类。UserRepository userRepository注入UserRepository实例。getUsers(int page, int size)分页查询用户数据返回一个Page对象。 创建控制器 最后创建一个控制器UserController提供分页查询的API。 package com.example.demo.controller;import com.example.demo.entity.User; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;RestController public class UserController {Autowiredprivate UserService userService;GetMapping(/users)public PageUser getUsers(RequestParam int page, RequestParam int size) {return userService.getUsers(page, size);} }代码讲解 RestController表示该类是一个RESTful控制器。UserService userService注入UserService实例。GetMapping(/users)映射GET请求到/users路径。RequestParam int page, RequestParam int size从请求参数中获取分页信息。getUsers(int page, int size)调用UserService的getUsers方法获取分页数据。 数据初始化 为了方便测试可以在data.sql文件中初始化一些数据。 INSERT INTO user (name, email) VALUES (John Doe, johnexample.com); INSERT INTO user (name, email) VALUES (Jane Doe, janeexample.com); -- 添加更多数据前端实现 安装依赖 首先确保在Vue项目中安装了axios以便与后端进行通信。 npm install axios创建 TableView 组件 在src/views/TableView.vue文件中创建表格组件。 templatedivel-table :datausers stylewidth: 100%el-table-column propid labelID/el-table-columnel-table-column propname labelName/el-table-columnel-table-column propemail labelEmail/el-table-column/el-tableel-paginationcurrent-changehandleCurrentChange:current-pagecurrentPage:page-sizepageSizelayouttotal, prev, pager, next:totaltotalUsers/el-pagination/div /templatescript import axios from axios;export default {data() {return {users: [],currentPage: 1,pageSize: 10,totalUsers: 0};},created() {this.fetchUsers();},methods: {fetchUsers() {axios.get(/users, {params: {page: this.currentPage - 1,size: this.pageSize}}).then(response {this.users response.data.content;this.totalUsers response.data.totalElements;});},handleCurrentChange(page) {this.currentPage page;this.fetchUsers();}} }; /scriptstyle scoped /* 添加样式以适应页面布局 */ /style代码讲解 el-tableElementUI的表格组件用于展示数据。el-table-column表格列定义每一列显示的数据字段。el-paginationElementUI的分页组件用于分页控制。fetchUsers()使用axios请求后端API获取分页数据并更新users和totalUsers。handleCurrentChange(page)当分页控件的当前页改变时更新currentPage并重新获取数据。 修改 main.js 在main.js中引入ElementUI。 import Vue from vue; import App from ./App.vue; import router from ./router; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css;Vue.config.productionTip false; Vue.use(ElementUI);new Vue({router,render: h h(App) }).$mount(#app);代码讲解 import ElementUI from element-ui引入ElementUI库。Vue.use(ElementUI)注册ElementUI插件使其在整个项目中可用。 配置代理 在开发环境中我们需要配置代理以解决跨域问题。修改vue.config.js文件 module.exports {devServer: {proxy: {/users: {target: http://localhost:8080,changeOrigin: true}}} };代码讲解 proxy配置代理将对/users的请求转发到http://localhost:8080。 运行项目 完成以上步骤后可以分别启动SpringBoot和Vue项目。在SpringBoot项目根目录下运行 ./mvnw spring-boot:run在Vue项目根目录下运行 npm run serve访问http://localhost:8080可以看到分页功能已经实现。 总结 通过本文的讲解我们了解了如何在SpringBoot和Vue.js中实现分页功能。从后端的分页逻辑实现到前端的分页展示和状态管理都进行了详细的介绍。在实际项目中分页功能可以根据需求进行扩展和优化例如添加搜索和排序功能进一步提升用户体验。 希望本文能帮助你更好地理解和实现分页功能。如果有任何问题或建议欢迎讨论。 进一步优化 在实际项目中你可能需要进一步优化分页功能例如 搜索功能在分页的基础上添加搜索条件使用户可以根据关键字进行搜索。排序功能允许用户点击表头进行排序。缓存分页数据在切换分页时缓存已经加载的数据减少不必要的网络请求。错误处理处理网络请求错误如超时或服务器错误向用户显示友好的错误信息。 通过这些优化可以使分页功能更加完善提升用户体验。 希望本文能够帮助你在项目中实现高效的分页功能。如果有任何问题或建议欢迎在评论区讨论。
http://www.hkea.cn/news/14431422/

相关文章:

  • 优质高等职业院校建设网站wordpress折叠代码
  • 搭建本地网站环境做公司网站哪里好
  • 2018年做视频网站2345浏览器网址
  • 一起做英语作业网站免费的个人简历模板word下载
  • 建设银行海淀支行 网站营销网站方案设计
  • 石家庄企业商城网站建设软件代码大全
  • 网站子页怎么做 视频广西电商网站
  • 高端网站建设 选择磐石网络网站推广文章 优帮云
  • 官方网站建设公扫一扫网页版在线使用
  • 广州市建设注册中心网站外贸网站建设及优化ppt
  • 中国建设银行官方网站手机银行软件开发是前端还是后端
  • 专做服装的网站网站制作费用低
  • 集团网站建设新闻中国石化工程建设公司网站
  • seo做的比较好的网站的几个特征平乡建设局网站
  • 谷歌做不做网站设计说明怎么写200字
  • pc网站开发成app难度农村电商平台
  • vs做网站怎么调试泉州网站设计师招聘
  • 做go kegg的在线网站佛山做app网站
  • 网络服务提供者不是网络运营者对不对吴忠seo
  • 天津手机版建站系统佛山网站建设优势
  • 如何实现网站建设服务物流网站开发实训
  • 网站建设开发方式Wordpress采集插件破解版
  • 网站排版图片是不是该填写完整
  • 手机推广软文seo快速优化
  • 网站内容优化方法有哪些微信网站html5
  • 佛山网站建设网站建设银行网站的目的
  • 仿it资讯类网站源码wordpress下载主题模板
  • 太仓住房和城乡建设局网站三类安全员证查询系统
  • 保定建网站需要多少钱wordpress收费插件
  • 网站开发行业推广网页设计作业成品免费下载