在一个 Web 应用程序中,我使用了<c:import>
JSTL 核心库中的标记来稍微清理我的 JSP 并尽可能多地删除代码冗余。
我有一个部分,我以这种方式将其包装在另一个文件中,以便准备在不同的 JSP 中显示(它已经被外部化,但目前只有一个用途)。基本上,它是一个单一的<div>
元素,像这样(变量名称是法语),包含一个应用程序范围的数据表。现在,数据是只读的(至少通过这个显示)
<div id="tableauTrajets">
<c:choose>
<c:when test="${empty applicationScope.trajets}">
<p class="erreur">Vous n'avez aucun train enregistré dans l'application pour le moment</p>
</c:when>
<c:otherwise>
<div class="liste">
<h1>Trains enregistrés</h1>
<table border="1" class="sortable">
<tr>
<th>Numéro de Train</th>
<th>Heure Départ</th>
<th>Gare Départ</th>
<th>Heure d'Arrivée</th>
<th>Gare Destination</th>
<th>Action</th>
</tr>
<c:forEach items="${applicationScope.trajets}" var="mapTrajets" varStatus="boucle">
<tr>
<td><c:out value="${mapTrajets.value.numeroTrain}" /></td>
<td><c:out value="${mapTrajets.value.heureDepart}" /></td>
<td><c:out value="${mapTrajets.value.gareDepart}" /></td>
<td><c:out value="${mapTrajets.value.heureArrivee}" /></td>
<td><c:out value="${mapTrajets.value.gareArrivee}" /></td>
<td class="action">
<a href="
<c:url value ="/reutiliserTrajet">
<c:param name="identificateurTrajet" value="${mapTrajets.key}"/>
</c:url>
">
<img
src="<c:url value="/inc/icons/24/reutiliser.png"/>"
alt="Reutiliser"
title="Réutiliser le trajet"
class="iconeMenuTableau"
/>
</a>
</td>
</tr>
</c:forEach>
</table>
</div>
</c:otherwise>
</c:choose>
</div>
我想<div>
在另一个页面中添加这个,一个管理面板,旨在为应用程序管理员提供写访问权限,但稍作修改,每行有更多<th>
和<td>
元素,以提供编辑功能的链接(基本上,删除和更新显示的数据此表)。
所以我的问题如下:
有没有办法识别在被调用<c:import>
的 JSP 中调用的 JSP 页面,以便使用<c:if>
or<c:choose>
和 which is it 进行选择性显示?Google 对 JSP 最相关的响应包括识别页面 [caller/calling] 是 Java Ranch 上的一个 12y/o 线程,没有响应。
或者,如果我在调用者页面中创建了 pageScope 或 requestScope 变量,我可以在导入的页面中使用它吗?
谢谢