Как включить jsp-файл в другой jsp-файл с помощью jQuery

#javascript #jquery #jsp #struts2 #java-ee-6

#javascript #jquery #jsp #struts2 #java-ee-6

Вопрос:

Я пытаюсь включить файл jsp при нажатии кнопки следующим образом

     <script type="text/javascript">

    jQuery(document).ready(function($) {
        $('#RegisterChildPage').on('click', function() {
            $('.content').html("<%@ include file="FamilyManagerView.jsp"%>");

        });
    });
    </script>

  

Моя проблема в том, что в этой строке $('.content').html(<%@ include file="FamilyManagerView.jsp"%>); есть синтаксическая ошибка, и я не знаю, как правильно ее записать.

<%@ include file="FamilyManagerView.jsp"%> не включен должным образом из-за <% %> .

Ответ №1:

Это может вам помочь.

Добавьте DIV в свой JSP-файл, который включает ваш другой JSP-файл, и он изначально скрыт Скрытый элемент div

Затем удалите скрытую в onlclick функцию

функция onclick

!document.getElementById('testContainer').hidden — Свойство HTMLElement hidden является логическим значением, которое имеет значение true и using ! оператор вы можете отобразить скрытый DIV.

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Main JSP</title>
</head>
<body>
    <div class="row">
        <div class="col-12">
            <div class="row">
                <button class="btn btn-success" onclick="renderElement()">Render Me</button>
            </div>
            <div class="row mt-2" id="testContainer" hidden>
                <!-- Insert your file here -->
                <%@ include file="test.jsp" %>
            </div>
        </div>
    </div>
</body>
    <script>
        const renderElement = () => {
            document.getElementById('testContainer').hidden = !document.getElementById('testContainer').hidden;
        }
    </script>
</html>  

Комментарии:

1. Или вы можете использовать .load() , который загружает данные с сервера и помещает возвращенный HTML в соответствующие элементы. но вы должны указать точный путь, по которому находится ваш другой JSP. В качестве примера — $("#testContainer").load('../../pages/students/test.jsp');

2. Пожалуйста, публикуйте текст, а не изображения текста.

3. Пожалуйста, не добавляйте новый ответ, отредактируйте существующий (или удалите старый).

4. Большое вам спасибо за указание @Dave Newton. Я отредактировал свой ответ.

5. Нет проблем — спасибо, что нашли время навести порядок; это действительно помогает.