【问题标题】:Querying dynamic Search Results and sending specific search object to a details jsp查询动态搜索结果并将特定搜索对象发送到详细信息 jsp
【发布时间】:2020-04-23 06:28:43
【问题描述】:

我目前正在执行一项任务,该任务基本上是搜索餐厅,我目前正在循环浏览我的搜索结果以显示它们,我希望用户能够点击特定餐厅的图像并被重定向到该餐厅的详细信息页面。我目前正在做:

<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】:

    你应该把restautantId作为detail.jsp URL参数

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

    在您的 servlet 中,您可以通过

    获取restautantId
    request.getParameter("restautantId");
    

    【讨论】:

    • 谢谢,我会试试的。我是否需要创建一个详细信息 servlet 并传入我的 ArrayList 以将其发送到 jsp?我目前没有 getId() 方法,因为我所有的对象都只是普通的 java 对象。
    • 您的结果查询也应该返回 restaurantId
    • 对不起,我目前没有使用 SQL。我正在使用 yelp api 进行搜索,并从我从 api 解析的数据中创建餐厅对象,然后将它们放入 ArrayList 中。这就是我发送到我的 SearchResults jsp 并显示在我上面的代码中的内容。
    • 进入详情页,您需要有唯一的字段来获取详情信息,可能是餐厅名称或地址?
    猜你喜欢
    • 2012-10-10
    • 2018-07-06
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    相关资源
    最近更新 更多