Html 如何使搜索结果显示在1标题下的不同行和结构中

Html 如何使搜索结果显示在1标题下的不同行和结构中,html,css,jsp,Html,Css,Jsp,我有一个JSP搜索功能,如下所示: <% String value=request.getParameter("search"); Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://instance****.db.xeround.com:*****/mydb", "*****", "*******"); State

我有一个JSP搜索功能,如下所示:

<%
String value=request.getParameter("search");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://instance****.db.xeround.com:*****/mydb", "*****", "*******");
Statement st=conn.createStatement();
ResultSet rs = st.executeQuery("SELECT menu.name, menu.info, menu.price, restaurants.name from menu,"
        + " restaurants where restaurants_restaurantID=RestaurantID AND (menu.name like '%"
        + value
        + "%' "
        + "or menu.info like '%"
        + value
        + "%' or menu.category like '%"
        + value
        + "%' "
        + "or menu.kitchen like '%"
        + value
        + "%' or quick_choose like '%" + value + "%')");

while (rs.next()){ 
    %>
<tr><td>Name:</td><td><input type="text" value="<%=rs.getString("name")%>" > </td></tr>
<tr><td>Info:</td><td><input type="text" value="<%=rs.getString("info")%>" > </td></tr>
<tr><td>Price:</td><td><input type="text" value="<%=rs.getInt("price")%>" > </td></tr>
      <%
}
%>

姓名:
信息:
价格:
这是工作和拉我需要的信息从数据库,但我现在想做的是以某种方式使结果线正确,因为每个结果线将只显示名称/菜的描述/一种食物的价格。此外,我希望它与顶部标题配合使用,如下所示:

结果显示在标题“餐厅、菜肴、类型、价格”下。以便它们正确显示在这些标题下

然后用一条线分开每一条线。比如在facebook上,当你去搜索某样东西时,结果会显示出来,并用一条细线分开

与上面的链接相同,如下所示:

对于那些不想读太多的人的总结:我基本上希望我的搜索结果像这个网站:,在标题下分成不同的栏,并有一行分隔每个搜索结果


你们中有人知道HTML中有什么可能的解决方案吗?或者你能给我一些关于如何控制的建议吗?我试过几种选择,但就是想不出来。非常感谢任何帮助或指导。非常感谢你

您需要的html

<table>
  <tr class="head">
    <td>Name:</td>
    <td>Info:</td>
    <td>Price:</td>
  </tr>    
<%
 while (rs.next()){ 
%>
  <tr class="content">
    <td class="name"><%=rs.getString("name")%></td>
    <td class="info"><%=rs.getString("info")%></td>
    <td class="price"><%=rs.getInt("price")%></td>
  </tr>
<%
 }
%>
</table>
table {
    border-collapse: collapse;
}
.head td {
    text-align: center;
}
.content td {
    padding: 5px 10px;
    vertical-align: top;
    text-align: left;
    border-bottom: 1px solid #C0C0C0;
    border-bottom-style: dotted;
}
.info {
    background-color: #F1F4F6;
}
但首先,Scriptlet的实践非常糟糕。其次,在JSP中获取数据库连接是一个致命的打击。 您的JSP页面应该只负责查看。将代码替换为单独的Java类。否则,当您的代码膨胀时,您的项目将无法读取且无法维护

使用,您可以轻松获得相同的视图:

<c:forEach var="item" items="${requestScope.items}">
   <div id="item_title" class="item_title">
      <a href="${pageContext.request.contextPath}${item.url}">
        <c:out value="${item.title}" />
      </a>
   </div>
   <div id="item_content" class="item_content">
      <c:out value"${item.content}" />
   </div>
<c:forEach>



我不理解这个问题。使用
href
属性为每个结果创建一个
标记,该属性指向链接应该是什么。在您的例子中,我假设您希望将餐厅ID传递给servlet(因为您不应该在JSP中编写Java)。你可以查看重新编辑的摘要。我还是不明白这个问题。如果你想要单独的“部分”,那么为单独的部分添加HTML。嗯,我添加当前搜索功能的原因是为了显示它现在如何打印结果,正如你在代码末尾看到的那样。我展示了一个网站,它以我想要的方式显示搜索结果。这就是为什么我要问,是否有人知道如何制作这样的标题,使搜索结果显示在标题下。还有一条分割每个搜索结果的线。那么你是在问如何做CSS?我知道这很糟糕,我一个月前才开始学习Java,所以我真的不擅长。我知道你们这些编程了很长一段时间的家伙看起来一定很糟糕。但我会尽力记住这一点。谢谢你的评论。非常感谢好先生,我睡着了,所以直到现在我才检查,我会记住你的建议的!再次感谢!
   <div id="item_title" class="item_title">
      <form name="openItem" action="handlerurl" method="post">
        <input type="hidden" name="itemId" value="${item.id}" />
        <c:out value="${item.title}" />
        <input type="submit" value="read more" />
      </form>
   </div>