Spring之路(22)–SpringMVC+Bootstrap开发博客系统实例(引入Boostrap并实现浏览博客页面)

简介: 本文目录1.背景2. 浏览博客功能实现3. 导入Bootsrap4. 利用Bootstrap样式美化表格5. 利用Bootstrap添加导航栏6. 添加修改、删除链接7. 总结

1.背景

本篇以浏览博客页面为例,讲解下如何利用SpringMVC实现后端功能,同时利用Bootstrap美化前端演示。

2. 浏览博客功能实现

1、首先修改BlogController的blogView方法,进入浏览博客页面时应携带博客列表信息

  @Autowired//自动装配blogService
  private BlogService blogService;
  /**
   * 1 进入浏览博客页面
   */
  @RequestMapping("/blogView")
  public ModelAndView blogView() {
    ModelAndView mv = new ModelAndView();
    mv.setViewName("blogView.jsp");
    //设置需要返回给页面的值
    mv.addObject("blogs", blogService.getBlogList());
    return mv;
  }

2、修改页面,遍历输出blogs中的内容

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
  <table>
    <!-- 遍历后台返回的blogs集合,取每一行赋给blog -->
    <c:forEach items="${blogs}" var="blog">
      <tr>
        <td>${blog.id}</td>
        <td>${blog.title}</td>
        <td>${blog.author}</td>
      </tr>
    </c:forEach>
  </table>
</body>
</html>

此时我们在浏览器地址栏访问http://127.0.0.1:8080/myblog/blogView.do已经能看到博客列表了。


3. 导入Bootsrap

为了美化样式,我们引入Bootsrap到项目中,这个也比较简单,实际上就是通过添加一些标签和class实现定制化的样式(别人封装好了,我们拿过来用就行,非常简单)。


在head区域引入bootstrap,此处直接引入在线的样式文件即可。

<head>
<meta charset="UTF-8">
<title></title>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
  integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
  crossorigin="anonymous">
</head>

4. 利用Bootstrap样式美化表格

Bootstrap中条纹状表格的样式是


<table class="table table-striped">

 ...

</table>


所以我们将jsp页面修改下,添加样式,并且添加下表头


<table class="table table-striped">

 <tr>

  <th>ID</th>

  <th>标题</th>

  <th>作者</th>

 </tr>

 <c:forEach items="${blogs}" var="blog">

  <tr>

   <td>${blog.id}</td>

   <td>${blog.title}</td>

   <td>${blog.author}</td>

  </tr>

 </c:forEach>

</table>


OK,此时再次访问blogView,发现bootstrap的样式已经生效了,果然非同凡响,比我们裸奔的代码强多了:

image.png

5. 利用Bootstrap添加导航栏

作为一个正儿八经的网站,那可不仅仅是一个网页,至少得有一个导航栏,将所有页面串联起来。我们观察下Bootstrap导航栏的示例:

<<body>
  <nav class="navbar navbar-inverse">
    <div class="container-fluid">
      <ul class="nav navbar-nav">
        <li><a href="/myblog/blogView.do">浏览博客</a></li>
        <li><a href="/myblog/blogAdd.do">新增博客</a></li>
      </ul>
    </div>
  </nav>
  <table class="table table-striped">
    <tr>
      <th>ID</th>
      <th>标题</th>
      <th>作者</th>
    </tr>
    <c:forEach items="${blogs}" var="blog">
      <tr>
        <td>${blog.id}</td>
        <td>${blog.title}</td>
        <td>${blog.author}</td>
      </tr>
    </c:forEach>
  </table>
</body>
>

添加导航栏之后,样式更加大气:image.png

6. 添加修改、删除链接

我们已经有了浏览、新增的菜单了,还需要在表格上提供对博文的修改、删除链接,我们参考Boostrap的按钮样式,实现如下:


 <c:forEach items="${blogs}" var="blog">

  <tr>

   <td>${blog.id}</td>

   <td>${blog.title}</td>

   <td>${blog.author}</td>

   <td>

    <a class="btn btn-primary btn-sm" href="/myblog/blogEdit.do?id=${blog.id}" role="button">编辑</a>

    <a class="btn btn-danger btn-sm" href="/myblog/blogDelete.do?id=${blog.id}" role="button">删除</a>

   </td>

  </tr>

 </c:forEach>


这快属于传统jsp方面的功能,不再详细解释了。


7. 总结

还是比较容易的,哈哈。

相关文章
|
17天前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
106 29
|
21天前
|
监控 Java 应用服务中间件
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
42 6
|
1月前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
2月前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
784 0
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
1月前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
81 8
|
2月前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
68 11
|
2月前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
74 5
|
2月前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
2月前
|
XML Java 数据格式
Spring Boot 开发中的常见失误
本文深入分析了Spring Boot开发中常见的失误,包括不当使用@Component、@ResponseBody、@Autowired注解,以及不良的异常处理和日志记录实践,提供了有效的规避策略,帮助开发者提升代码质量和系统性能。