【问题标题】:JSTL foreach var sending to jsp/servletJSTL foreach var 发送到 jsp/servlet
【发布时间】:2011-05-17 11:19:49
【问题描述】:

我想知道一种方法,如何将 JSTL 的 foreach 的 1 个指定项目发送到其他 JSP 或 servlet,以打印有关该项目的详细信息。

给出以下代码:

    <c:forEach var="note" items="${notes}">
        <tr>
            <td>${note.getTitle()}</td>
            <td>${note.getRealDate()}</td>
            <td>${note.getUserDate()}</td>
            <td>
                <form action="showdetails.jsp">
                    <input type="submit" value="show details" name="details" />
                </form> 
            </td>
        </tr>
    </c:forEach>

我需要更换或重新制作表格,以获得可以完成工作的东西,但我没有想法......

啊,顺便说一句。注意上面显示的方法 + showDetails()String 返回。我想把它们全部显示出来,或者只是在 jsp/servlet 中做String all = note.toString();

【问题讨论】:

    标签: java jsp servlets jstl


    【解决方案1】:

    只需将标识符作为请求参数传递,并将 URL 更改为 servlet 即可。如果您坚持使用提交按钮,请将标识符作为隐藏输入字段传递:

    <form action="showdetails">
        <input type="hidden" name="id" value="${note.id}" />
        <input type="submit" name="details" value="show details" />
    </form>
    

    在映射到/showdetails 的 URL 模式的 servlet 中,只需在 doGet() 方法中执行以下工作:

    String id = request.getParameter("id");
    Note note = noteService.find(id);
    request.setAttribute("note", note);
    request.getRequestDispatcher("/WEB-INF/showdetails.jsp").forward(request, response);
    

    showdetails.jsp 中,您可以使用${note} 访问选定的Note

    正如 Bozho 建议的那样,当您使用链接时,上面的 servlet 也可以使用,只有一点区别,您可以在 servlet 中预处理请求(查找并准备正确的 Note 对象以供显示)。

    <a href="showdetails?id=${note.id}">show details</a>
    

    另见:

    【讨论】:

      【解决方案2】:

      您不需要&lt;form&gt;。只需添加一个链接,使用唯一标识该项目的字段:

      <a href="showdetails.jsp?noteId=${note.id}">show details</a>
      

      【讨论】:

      • 如何向该链接添加第二个(添加更多)参数? ...我试图让它只与 id 一起工作,但是如果不给 Session
      • 你可以添加任何东西,但你不应该这样做。我没有看到你的问题,所以我无法提供更多帮助。
      • 我只是问如何使验证链接以拆分其中的参数 像这样?title=${note.getTitle()}?realDate=${note.getRealDate()}?userDate=${note.getUserDate()}?content=${note.getContent()}"&gt;show details 不起作用:) 它是一个大而无用的参数
      猜你喜欢
      • 2011-12-24
      • 2013-08-13
      • 2013-03-29
      • 2021-08-03
      • 2013-04-27
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多