안녕하세요, 저는 JSP로 Spring MVC 애플리케이션에서 일하고 있습니다. 문제는 특정 순간에 div에 포함될 JSP 코드를 얻기 위해 컨트롤러 요청을합니다. ModelAndView 응답에서 JSP 코드를 얻는다. JQuery에 의해 제 div를 넣었습니다. 하지만 JSP 컨테이너 변수를 사용하고 싶을 때는 할 수 없다. 내 코드를 보여줄 게.JSP 자바 스크립트에서 부모 JSP 변수를 어떻게 사용합니까?
JSP 컨테이너 (부모)
<div class="row" id="principalDiv">
<div id="menuZone">
<c:forEach items="${user.rol.permisos}" var="permisos">
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2 iconos methodDiv" id="${permisos.permisoMetodoMap}">
<div>
<center>
<i class="fa <c:out value="${permisos.permisoMetodoIcono}" /> fa-5x" id="icon_${permisos.permisoMetodoMap}"></i>
</center>
<br>
<center>
<div>
<c:out value="${permisos.permisoNombre}" />
</div>
</center>
</div>
</div>
</c:forEach>
</div>
<div id="loadZone">
</div>
</div>
성령 강림절 나는 "loadZone"에 대한 내용을 얻기 위해, 내 컨트롤러에 reques를 만든 버튼을 클릭합니다.
코드 JSP 요청
function loadAsp(element) {
$.get('getInclude', {
include : $(element).attr('id')
}, function(responseText) {
$('#loadZone').html(responseText);
});
}
컨트롤러
@Controller
@RequestMapping(value = "/getInclude")
public class IncludesDispatcherController {
@Autowired
FormModelBo boConsultas;
@GetMapping
public ModelAndView getReportesView() {
ModelAndView mav = new ModelAndView("includes/reportes");
try {
mav.addObject("consultas", boConsultas.consultaGeneral());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mav;
}
}
내가 제목 테이블을 만들기 위해 모델과 뷰를 반환하고 JQuery와 조각 위에 나는 넣어에서 볼 수 div에서 html() 메소드로보기.
JSP
은 (어린이)<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page isELIgnored="false"%>
<div>
<center>
<legend>
<!-- //<img alt="" src="img/pen.png"> -->
Censo Métricas Triage ${user.nombre}<br /> <--- this is parent variable.
</legend>
</center>
</div>
<form action="${user.rol.rolMap}/createExcel" method="POST" role="form" id="">
<div class="form-group">
<!-- -------------------------------------------first section--------------------------- -->
<div class="row" style="padding-bottom: 22px !important;">
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
<div class="form-group">
<div class="form-group ">
<div class="input-group ">
<span class="input-group-addon">Fecha inicio</span> <input type="date" id="fecha_1" name="fecha_1" />
</div>
<div class="help-block with-errors"></div>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
<div class="form-group">
<div class="form-group ">
<div class="input-group ">
<span class="input-group-addon">Fecha final</span> <input type="date" id="fecha_2" name="fecha_2" />
</div>
<div class="help-block with-errors"></div>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
<div class="form-group">
<div class="input-group">
<button type="submit" class="btn btn-primary">Generar Reporte</button>
</div>
<div class="help-block with-errors"></div>
</div>
</div>
</div>
</div>
</form>
<div style="padding-bottom: 22px !important;">
<table class="table">
<thead>
<tr>
<th>Nombre de médico</th>
<th>Número de consultas</th>
</tr>
</thead>
<tbody>
<c:forEach items="${consultas}" var="consultasLista">
<tr>
<td><c:out value="${consultasLista[0]} ${consultasLista[1]} ${consultasLista[2]}" /></td>
<td><c:out value="${consultasLista[3]}" /></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
내가 작업하는 내 ModelAndView 내 보낼 모델 변수를 포함 할 수 있지만, 부모님은하지 않았다. 내가 선언과 같은 다른 방법으로 시도
는
<%
String variable = "test";
%>
또는
request.setAttribute("attrName", myValue); (for catch it in my children JSP with request.getAttribute())
variblaes하지만 너무 작동하지. 나는 그것이 JSP 부모 코드가 alredy 컴파일 된 이유인지 모르겠다. 부모 변수에 액세스해야합니다.
도와 주셔서 감사합니다.
JSP 코드는 서버에서 실행됩니다. 어디에서 'JSP가 포함될 것인가'를 알 수는 없지만 브라우저에 ajax-answer를 통해 표시된 것처럼이 코드를 보내면
Holger