我目前正在从事一项工作,该工作基本上是在搜索餐厅,并且目前正在浏览搜索结果以显示它们,我希望用户能够单击特定餐厅的图像并重定向到该餐厅的详细信息页面。我目前正在做:
<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个餐厅对象的迭代中被覆盖。那么,我该如何发送正确的对象呢?请让我知道,谢谢。
您应该将restautantId
放在detail.jsp URL参数中为>]
<a href="detailsPage.jsp?restaurantId=<%=result.getId()%>"> <img src= "<%=result.getImage()%>" id="imageChange"> </a>
在您的servlet中,您可以通过以下方式获取restautantId:>
request.getParameter("restautantId");