当前位置: 首页> 文旅> 美景 > 余姚网站建设公司_百度沈阳分公司地址在哪里_南京seo外包_软文广告经典案例100字

余姚网站建设公司_百度沈阳分公司地址在哪里_南京seo外包_软文广告经典案例100字

时间:2025/7/11 10:33:11来源:https://blog.csdn.net/u010288901/article/details/142567304 浏览次数:0次
余姚网站建设公司_百度沈阳分公司地址在哪里_南京seo外包_软文广告经典案例100字

资源下载

实验报告2-前端框架和模板引擎实现视图

一、实现思路

        Spring Boot整合Thymeleaf实现图书管理案例。要求:

        1、项目使用Spring Boot整合Thymeleaf,项目展示的页面效果全部通过Thymeleaf的模板文件实现。

        2、查询所有图书。访问http://localhost:8080/book/list时,查询所有图书,并展示在页面中。

        3、选择性显示按钮。当Session中存在用户角色为“admin”时,显示“新增”按钮,否则不显示该按钮。

        4、按条件查询图书。单击“查询”按钮时,根据搜索框中的查询条件查询对应的图书信息。

        5、借阅图书。当图书状态为可借阅时,对应的“借阅”按钮为可用状态,并且单击“借阅”按钮时,将当前申请借阅图书的编号发送到后台。

二、实验步骤

1、新建项目

        Name:Exp2,GroupID:com.sw

        引入pom.xml文件、定义SpringBoots入口函数

2、测试Html静态页面

        com.sw.controller包,BookController.java

@Controller
@RequestMapping("/book")
public class BookController {@RequestMapping("/list")public ModelAndView list(){ModelAndView modelAndView = new ModelAndView("list");return modelAndView;}
}

        resources/static目录,导入css和js文件

        resources/templates目录,导入list.html

    <link rel="stylesheet" th:href="@{/css/bootstrap.css}"><script th:src="@{/js/jquery.min.js}"></script>

3、实现功能

(1)选择性显示按钮

        选择性显示按钮。当Session中存在用户角色为“admin”时,显示“新增”按钮,否则不显示该按钮。

        com.sw.pojo包,User.java

@Data
public class User {private String username;private String role;public User(String username, String role) {this.username = username;this.role = role;}
}

        com.sw.controller包,BookController.java

    @RequestMapping("/list")public ModelAndView list(String role, HttpSession session){ModelAndView modelAndView = new ModelAndView("list");session.removeAttribute("user");if (!ObjectUtils.isEmpty(role)){session.setAttribute("user",new User("zhangsan",role));}return modelAndView;}

        resources/templates目录,list.html

<div class="pull-left" th:if="${#session.getAttribute('user')!=null and #session.getAttribute('user').role=='admin'}"><div class="btn-group"><button type="button" class="btn btn-default">新增</button></div>
</div>
(2)查询所有图书

        访问http://localhost:8080/book/list时,查询所有图书,并展示在页面中。

        com.sw.pojo包,Book.java

@Data
public class Book {private Integer id;private String name;private String author;private String press;private Date publishDate;private BigDecimal price;private Integer status;
}

        com.sw.pojo包,Database.java

public class Database {public static List<Book> getBookList(){List<Book> bookList = new ArrayList<>();Book book1 = new Book();book1.setPrice(new BigDecimal(66));Calendar calendar = Calendar.getInstance();calendar.set(2021,9,10);book1.setPublishDate(calendar.getTime());bookList.add(book1);bookList.add(new Book());bookList.add(new Book());return bookList;}
}

        com.sw.controller包,BookController.java

        modelAndView.addObject("bookList", Database.getBookList());

        resources/templates目录,list.html

<tr th:each="book : ${bookList}"><td th:text="${book.name}"></td><td th:text="${book.author}"></td><td th:text="${book.press}"></td><td th:text="${#dates.format(book.publishDate,'yyyy-MM-dd')}"></td><td th:text="${#numbers.formatCurrency(book.price)}"></td><td><th:block th:if="${book.status==1}">可借阅</th:block><th:block th:if="${book.status==2}">借阅中</th:block><th:block th:if="${book.status==3}">归还中</th:block></td><td class="text-center"><button th:if="${book.status==1}" type="button" class="btn btn-primary btn-xs">借阅</button><button th:if="${book.status==2 || book.status==3}" type="button" class="btn btn-primary btn-xs" disabled="disabled">借阅</button></td>
</tr>
(3)按条件查询图书

        单击“查询”按钮时,根据搜索框中的查询条件查询对应的图书信息。

        resources/templates目录,list.html

<form method="post" action="/book/search">图书名称:<input name="name">图书作者:<input name="author"><input class="btn btn-default" type="submit" value="查询">
</form>

        com.sw.controller包,BookController.java

    @RequestMapping("/search")public ModelAndView search(Book bookFront){ModelAndView modelAndView = new ModelAndView("list");List<Book> bookList = new ArrayList<>();if (ObjectUtils.isEmpty(bookFront) ||(!ObjectUtils.isEmpty(bookFront)&& ObjectUtils.isEmpty(bookFront.getName())&& ObjectUtils.isEmpty(bookFront.getAuthor()))){bookList = Database.getBookList();}else {for (Book book : Database.getBookList()) {if (!ObjectUtils.isEmpty(bookFront.getName()) && !ObjectUtils.isEmpty(bookFront.getAuthor())){if (book.getName().contains(bookFront.getName()) && book.getAuthor().contains(bookFront.getAuthor())){bookList.add(book);}}else if(!ObjectUtils.isEmpty(bookFront.getName())){if (book.getName().contains(bookFront.getName())){bookList.add(book);}}else if(!ObjectUtils.isEmpty(bookFront.getAuthor())){if (book.getAuthor().contains(bookFront.getAuthor())){bookList.add(book);}}}}modelAndView.addObject("bookList", bookList);return modelAndView;}
(4)借阅图书

        当图书状态为可借阅时,对应的“借阅”按钮为可用状态,并且单击“借阅”按钮时,将当前申请借阅图书的编号发送到后台。

        resources/templates目录,list.html

<button th:if="${book.status==1}" type="button" class="btn btn-primary btn-xs" th:onclick="findBookById([[${book.id}]])">借阅</button>

com.sw.controller包,BookController.java

    @RequestMapping("/find/{id}")public ModelAndView find(@PathVariable Integer id){ModelAndView modelAndView = new ModelAndView("list");for (Book book : Database.getBookList()) {if (book.id == id){bookList.add(book);}}modelAndView.addObject("bookList", bookList);return modelAndView;}

        resources/templates目录,list.html

    function findBookById(id) {window.location = "/book/find/" + id// $.get("/book/find/" + id)// alert("findBookById:" + id)}

关键字:余姚网站建设公司_百度沈阳分公司地址在哪里_南京seo外包_软文广告经典案例100字

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: