html - 查询动态搜索结果并将特定搜索对象发送到详细信息 jsp
问题描述
我目前正在从事一项基本上搜索餐馆的任务,我目前正在循环浏览我的搜索结果以显示它们,我希望用户能够单击特定餐馆的图像并被重定向到详细信息那家餐厅的页面。我目前正在做:
<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");
推荐阅读
- php - 如何调试冻结而不返回错误的脚本?(更新 SQL 表 - 大约 1.5 小时的过程)
- pyspark - 从嵌套的 json 文件中提取数据
- java - 每次在 Hibernate 中动态创建 EntityManager / 连接到自定义主机/数据库
- swift - 如何在swift 5中添加带有一个标签的表格视图页脚
- java - 创建 sql 查询时使用 java.text.MessageFormat.format() 是否安全?
- sql - 如何将一列拆分为多列
- mql4 - 关闭订单时票证无效
- stm32 - What initialises the contents of the STM32's USB BTABLE when the __HAL_RCC_USB_CLK_ENABLE() macro is executed in HAL_PCD_MspInit()?
- java - 未报告的异常 ParseException; 必须被捕获或声明被抛出 -- JAVA 错误
- java - 是否可以在 logback 中为特定的 appender/logger 禁用 MDC 日志记录字段?