Я пытаюсь (и учусь) создать веб-фреймворк Java и в процессе разработки его генератора кода на основе содержимого базы данных. В процессе создания представления я натыкаюсь на трудность, которую не знаю, как решить.
Во-первых, я хочу, чтобы все страницы были созданы с использованием следующих index.jsp :
<body>
<%@ include file="header.jsp" %>
<hr/>
<%@ include file="body.jsp" %>
<hr/>
<%@ include file="footer.jsp" %>
</body>
И в body.jsp я хочу, чтобы это было так:
<jsp:include page="${application_modul}" %>
Где application_modul - это атрибут, определенный в его контроллере следующим образом:
request.setAttribute("application_modul","user_account\\view_user_account.jsp");
Он может правильно найти файл, но обработанный jsp не такой, как я ожидал. Здесь :
<c:forEach items="[application.models.UserAccountModel@18a49e0, application.models.UserAccountModel@1f82982]" var="item" varStatus="status" >
<tr>
....
Вы можете увидеть атрибут items jstl forEach, получивший имя переменной (toString())...
Любая идея, в чем проблема????
надеюсь правильно описал свою проблему
Большое спасибо!
PS: я уже создал быстрое исправление для этого, но не то, что я хочу. В сгенерированном view_user_account.jsp я делаю это так:
<body>
<%@ include file="header.jsp" %>
<hr/>
<c:forEach items="${row}" var="item" varStatus="status" >
<tr>
....
<hr/>
<%@ include file="footer.jsp" %>
</body>
Вы можете видеть, что я создаю весь файл здесь...
EDITED: PS: ${row} - это ArrayList, заполненный данными из определенной таблицы