Почему мой включенный файл JSP не будет правильно обработан?

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


person swdev    schedule 25.03.2011    source источник


Ответы (2)


Итак, чтобы обобщить вашу проблему в одном предложении, теги JSTL не анализируются, и они заканчиваются простым выводом в сгенерированном HTML?

Вам нужно объявить taglib JSTL в верхней части страницы JSP, где вы используете теги JSTL, чтобы заставить их работать. Для базовой библиотеки тегов JSTL , это будет

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
person BalusC    schedule 25.03.2011
comment
:) да ;) проверю, хотя вроде уже делал... :) Или нет?? давай посмотрим. Благодарность - person swdev; 25.03.2011

Я не уверен, но попробуйте это...

index.jsp

  <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />

person Nitul    schedule 25.03.2011
comment
Решение, данное @BalusC, простое... Хотя я должен был знать это :( но это то, для чего нужен Stackoverflow. хе-хе. спасибо - person swdev; 25.03.2011