我在mysql数据库中有产品记录(我说的是使用hibernate的spring MVC java项目)。
我有一个HTML(和CSS)形式的搜索屏幕,这是其代码:
<!DOCTYPE html> <html xmlns:th="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> * {box-sizing: border-box;} body { margin: 0; font-family: Arial, Helvetica, sans-serif; } .topnav { overflow: hidden; background-color: #e9e9e9; } .topnav a { float: left; display: block; color: black; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } .topnav a:hover { background-color: #ddd; color: black; } .topnav a.active { background-color: #2196F3; color: white; } .topnav .search-container { float: right; } .topnav input[type=text] { padding: 6px; margin-top: 8px; font-size: 17px; border: none; } .topnav .search-container button { float: right; padding: 6px 10px; margin-top: 8px; margin-right: 16px; background: #ddd; font-size: 17px; border: none; cursor: pointer; } .topnav .search-container button:hover { background: #ccc; } @media screen and (max-width: 600px) { .topnav .search-container { float: none; } .topnav a, .topnav input[type=text], .topnav .search-container button { float: none; display: block; text-align: left; width: 100%; margin: 0; padding: 14px; } .topnav input[type=text] { border: 1px solid #ccc; } } </style> </head> <div class="topnav"> <a class="active" href="#home">Home</a> <a href="#about">About</a> <a href="#contact">Contact</a> <div class="search-container"> <form action="/search1"> <input type="text" placeholder="Search.." name="search"> <button type="submit"><i class="fa fa-search"></i></button> </form> </div> </div> <div style="padding-left:16px"> </div> <style> table { border-collapse: collapse; border-spacing: 0; width: 100%; border: 1px solid #ddd; } th, td { text-align: left; padding: 16px; } tr:nth-child(even) { background-color: #f2f2f2 } </style> </head> <body> <h2>Search Results</h2> <table> <tr> <th>Product ID</th> <th>Product Name</th> <th>Product Price</th> </table> </body> </html>
我还有一个java函数可以连接到我的数据库并获取正确的搜索结果(当前它只是将结果打印到控制台),这是该函数:
@RequestMapping("/results") public String results(UserSearch search){ Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory factory = cfg.buildSessionFactory(); Session session = factory.openSession(); ArrayList<ProductsEntity> li = (ArrayList<ProductsEntity>)session.createQuery("from ProductsEntity").list(); for (ProductsEntity c: li) { if (c.getProductName().toLowerCase().contains(search.getSearch().toLowerCase())){ System.out.println(c.getProductName()); } } session.close(); factory.close(); return "results"; }
我想做的是将来自Java函数的结果插入html表单(这样html将包含带有搜索结果的表),有人知道吗?
谢谢!
我想说,您在HTML页面中的表单必须是标记,<form:form> 并分配了modelattribute。我相信这将是一个ProductsEntity。
<form:form>
modelattribute
ProductsEntity
form标签的绑定在这里说明。
form
您将包括用于标签工作的taglib库。
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>在<!DOCTYPE html>和<html>标记之间包含。
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>