如何在另一个JSP中正确包含一个JSP

时间:2019-03-29 11:11:59

标签: java jsp

我正在制作一个将事件添加到列表的表单,但我需要能够以该表单查看该列表中的先前事件。我有一个显示事件列表的jsp,但是当您直接从浏览器直接访问列表时,它具有通常由控制器添加的属性。

那么我如何添加填充该属性的列表jsp,以便它显示一个列表,而不仅仅是标题?

我已经使用了

<jsp:include page="comp_list.jsp"></jsp:include>

它显示标题,但是因为没有属性,所以没有显示列表。我尝试将属性添加到include中,例如:

<jsp:include page="comp_list.jsp">
  <jsp:attribute name="compensaciones">
    ${compensaciones}
  </jsp:attribute>
</jsp:include>

但是当我这样做时,它显示一个错误,告诉我这无法完成。

还尝试了params,但这对我来说不是答案,因为params在控制器中而不是在jsp本身中处理。

我只是得到列表的标题,这很好,但是我想查看列表。

编辑:这是我构建列表的方式,以防万一您想知道

<tbody>
  <c:forEach var="comp" items="${compensaciones}">
    <td>${comp.getSomething()}</td>
    ...
  </c:forEach>
</tbody>

3 个答案:

答案 0 :(得分:0)

<jsp:include page="pagename.jsp" /> 我想您没有在include标签中提供扩展名

答案 1 :(得分:0)

有时候,由于我曾经在HTML和PHP方面拥有过丰富的经验,因此我们只包含导航和标头之类的内容,以便于管理。

我不确定您包括JSP的目的是什么,但这是一个示例,说明自从我将JSP包含在布尔类型为true的情况下。

所访问的站点:

<div class="row">
            <div class="col-lg-2">
            </div>
            <div class="col-lg-8">

                <%
                    if (loggedin) {
                %>

                <%@ include file="includes/profile.jsp" %>

                <%    } else {
                    out.println("<div><h2>You aren't logged in!</h2></div>");
                }
                %>

            </div>
            <div class="col-lg-2">
            </div>
        </div>

我所包含的JSP文件的顶部和底部不包含head,title,html,body等内容。

<%

    User currUser = null;

    currUser = (User) session.getAttribute("user");

%>


<div>
    <h2>Du er logget ind, velkommen <% out.println(currUser.getUsername().toUpperCase()); %></h2> <br>

    <h5>Din Saldo: <b><%  if (currUser.getBalance() < 0) { out.println("<font color='red'>" + currUser.getBalance() + "</font>");} else { out.println("<font color='green'>" + currUser.getBalance() + "</font>");}  %></b></h5>
    <br>
    <form class="form" method="post" action="#">
        <h4>Oplysninger: </h4>
        <h6>
            For at  &aelig;ndre oplysninger skal du indtaste dit kodeord!
        </h6>
        Nuv&aelig;rende Kode: <input type="password" class="form-control" placeholder="kodeord" name="password" required>
        <hr>
        Email: <input type="text" class="form-control" value="<% out.println(currUser.getEmail()); %>" name="email"> <br>
        Brugernavn: <input type="text" class="form-control" value="<% out.println(currUser.getUsername()); %>" name="username"> <br>
        <input type="submit" class="btn btn-default" value="Indsend Oplysninger" />
    </form>
</div>

将JSP导入JSP时,重要的是要知道在以下情况下它们将发生冲突:1.复制局部变量。 2.某些HTML标签不正确。

您的预期用途对我来说似乎非常复杂,因为我不太了解它,对不起:3,但是如果您无法使用它,请考虑将其投入会议,如果是一次使用,则将其删除一次你用过的。

答案 2 :(得分:0)

这是从 dacades 工作的

<%@ include file="../scripts/standard_head_declaration.jsp" %>