【问题标题】:How to properly include a jsp in another jsp如何在另一个jsp中正确包含一个jsp
【发布时间】:2019-08-20 07:43:07
【问题描述】:

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

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

我已经包含了使用的jsp

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

它显示了标题,但由于没有属性,它没有显示列表。我尝试向包含添加属性,例如:

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

但是当我这样做时,它会显示一个错误,告诉我不能这样做。

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

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

编辑:这就是我建立列表的方式,以防你想知道

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

【问题讨论】:

标签: java jsp


【解决方案1】:

&lt;jsp:include page="pagename.jsp" /&gt; 我的事情你没有在你的包含标签中提供扩展名

【讨论】:

  • 感谢您的回答,已经尝试过了,但它也不适合我
  • 当我添加一些东西作为参数时,我的网站停止加载,它不像现在不显示,它只是显示但没有我正在构建的表格,因为我没有办法传递信息,在编辑中查看我是如何处理表格的。
【解决方案2】:

有时,由于我以前在 HTML 和 PHP 方面有过经验,我们只是简单地包含导航和标题等内容,以便于管理。

我不确定您包含 JSP 的目的是什么,但这里有一个示例说明我是如何做到的,因为如果布尔值为真,我会包含 JSP。

被访问的网站:

<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 文件的顶部和底部不包含诸如头、标题、html、正文等内容。

<%

    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 但如果您无法使其正常工作,请考虑将其扔到会话中,如果是一次性使用,则将其删除一次你用过。

【讨论】:

    【解决方案3】:

    这是从 dacades 工作的

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 2018-01-30
      • 2015-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多