Как определить страницу, вызывающую <c: import> при импорте содержимого JSP

В веб-приложении я использовал <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> элементы в каждой строке, чтобы обеспечить ссылки на функции редактирования (в основном, удалять и обновлять данные, отображаемые в этой таблице).

Итак, мой вопрос заключается в следующем: есть ли способ определить страницу JSP, которая вызывает <c:import> в вызываемой JSP, чтобы сделать выборочное отображение с помощью <c:if> или же <c:choose> и что это? Наиболее релевантный ответ Google на JSP включает идентификационную страницу [вызывающий / вызывающий], которая была 12-летней нитью на ранчо Java без ответа.

В качестве альтернативы, если я создал переменную pageScope или requestScope на странице вызывающего, могу ли я использовать ее на импортированной странице?

Спасибо

0 ответов

Другие вопросы по тегам