查询动态搜索结果并将特定的搜索对象发送到详细信息jsp

问题描述 投票:0回答:1

我目前正在从事一项工作,该工作基本上是在搜索餐厅,并且目前正在浏览搜索结果以显示它们,我希望用户能够单击特定餐厅的图像并重定向到该餐厅的详细信息页面。我目前正在做:

<div id="query">
                    <%
                    for(int i=0; i<results.size(); i++)
                    {
                        Restaurant result = results.get(i);
                    %>
                        <div class="restaurants">
                         <%request.getSession().setAttribute("result", results.get(i)); %> 
                             <a href="detailsPage.jsp">
                                <img src= "<%=result.getImage()%>" id="imageChange">
                            </a>
                            <div class="restaurantInfo">
                                <p style="font-size: 27px; color: rgb(94, 93, 93);"><%=result.getRestaurantName()%></p>
                                <p style="font-size: 25px; color: rgb(122, 122, 122);"><%=result.getAddress()%></p>
                                <p style="font-size: 25px; color: rgb(94, 93, 93);"> <%=result.getLink()%></p>
                            </div>
                        </div>
                    <%}; %> 

[只需在详细信息页面jsp中使用getAttribute()方法即可获取我发送的'结果'对象。唯一的问题是,它获取了我设置的最后一个Restaurant对象,并且可以肯定,这是因为setAttribute()在第i个餐厅对象的迭代中被覆盖。那么,我该如何发送正确的对象呢?请让我知道,谢谢。

html css jsp servlets
1个回答
0
投票

您应该将restautantId放在detail.jsp URL参数中为>]

 <a href="detailsPage.jsp?restaurantId=<%=result.getId()%>">
     <img src= "<%=result.getImage()%>" id="imageChange">
</a>

在您的servlet中,您可以通过以下方式获取restautantId:>

request.getParameter("restautantId");
© www.soinside.com 2019 - 2024. All rights reserved.