#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-файл, и он изначально скрыт
Затем удалите скрытую в onlclick функцию
!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. Нет проблем — спасибо, что нашли время навести порядок; это действительно помогает.