java - 如何在另一个jsp中正确包含一个jsp
问题描述
我正在制作一个表单以将事件添加到列表中,但我需要能够以该表单查看该列表中的先前事件。我有一个显示事件列表的 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>
解决方案
有时,由于我以前在 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 ændre oplysninger skal du indtaste dit kodeord!
</h6>
Nuvæ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 但如果您无法使其正常工作,请考虑将其扔到会话中,如果是一次性使用,则在使用后将其删除.
推荐阅读
- javascript - 猫鼬模式。静力学不是函数
- html - 等宽和等高的flexbox
- python-3.x - 从 classmethod 到 staticmethod:mypy 抱怨 mixin 而不是继承
- if-statement - If 语句中包含完整的内容列表
- flutter - Flutter 中的非嵌入式网页
- java - 随帧大小缩放形状
- python - 在python中识别事件数据中序列的更有效方法
- python - 如何从未处理的文本/数据中提取人的年龄和性别?
- firebase-authentication - 如何设置 Firebase 身份验证以保护我的 .Net Core API
- audio - 任何非基于 Chromium 的网络浏览器都无法加载某些 H264-mp4 视频