在Web应用程序中,我使用了JSTL核心库中的<c:import>
标记,以便稍微清理我的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>
个元素每行提供编辑功能的链接(基本上,删除和更新此表上显示的数据)。
所以我的问题如下:
有没有办法识别在被调用的JSP中调用<c:import>
的JSP页面,以便使用<c:if>
或<c:choose>
进行选择性显示,这是什么?谷歌在JSP上最相关的回应包括识别页面[调用者/调用]是Java Ranch上的12y / o线程,没有响应。
或者,如果我在调用者页面中创建了pageScope或requestScope变量,我可以在导入的页面中使用它吗?
由于