Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Не совсем понимаю разницу между загрузкой *.jsp и *.jspf / 12 сообщений из 12, страница 1 из 1
01.03.2012, 19:53:43
    #37687076
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
Есть у меня некоторый файл jsp в котором есть такой код:
Код: xml
1.
2.
3.
                                        <c:if test="${not empty contentOut}">
                                            <jsp:include page="${contentOut}" flush="true"/>
                                        </c:if>



Значит переменная contentOut содержит просто название файла, который должен проинклюдится в данном месте.
Если в качестве названия у меня файл *.jsp то всё нормально, а если *.jspf то он инклюдится, но в нем не отрабатывают разные тэги.
Например переменные так и выводит на страничку ${varOne} место содержания varOne или в файле есть
<%@ page contentType="text/html" pageEncoding="UTF-8"%>
и она так и выводит на страничку это не выполняя... соответственно вся кирилица в кракозябрами идет далее.

В общем мне нужно динамически вставлять *.jspf и чтоб содержание их выполнялось как в *.jsp
...
Рейтинг: 0 / 0
01.03.2012, 20:00:52
    #37687081
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
Тоесть другими словами получаю что не работает так:
<jsp:include page="div-cktest.jspf" flush="true"/>

но работает так:
<jsp:directive.include file="div-cktest.jspf" />

но в <jsp:directive.include file="div-cktest.jspf" /> нельзя вставить переменную типа так <jsp:directive.include file="${contentOut}" />
...
Рейтинг: 0 / 0
01.03.2012, 20:08:43
    #37687089
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
Просто так <%@ include file="div-cktest.jspf" %> тоже работает но опять таки не хочет работать с переменной <%@ include file=${contentOut} %>
...
Рейтинг: 0 / 0
01.03.2012, 20:09:33
    #37687091
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
У контейнера есть маппинг для jsp, но нет для jspf.
Например Tomcat/conf/web.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    <!-- The mapping for the JSP servlet -->
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>
...
Рейтинг: 0 / 0
01.03.2012, 20:20:49
    #37687106
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
Да. У меня только такое там:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    <!-- The mapping for the default servlet -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- The mappings for the JSP servlet -->
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>



Я так понимаю, что <jsp:include page="относительный URL" flush="true" />
инклюдит налету странички *.jsp, но они получаются уже предкомпиленные какбы тоже и поэтому всё ок, а вот *.jspf тоже инклюдит налету, но они не предкомпиленные и всё теги в них так и выплевываются в таком виде в каком есть в исходнике.
...
Рейтинг: 0 / 0
01.03.2012, 20:24:12
    #37687114
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
Добавил
Код: xml
1.
2.
3.
4.
    <servlet-mapping>
        <servlet-name>jspf</servlet-name>
        <url-pattern>*.jspf</url-pattern>
    </servlet-mapping>



Рестартанул апачу, пересобрал проект и тем не менее не работает *.jspf показывает как есть.
...
Рейтинг: 0 / 0
01.03.2012, 21:01:20
    #37687154
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspf</url-pattern>
</servlet-mapping>
...
Рейтинг: 0 / 0
01.03.2012, 21:29:53
    #37687176
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
забыл ник , да, пробовал и так и эдак. Чот не канает. Чот не то...
...
Рейтинг: 0 / 0
01.03.2012, 21:48:38
    #37687188
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
А ну так да, походу никак, .jspf - именно для статического инклуда
http://stackoverflow.com/questions/2081005/what-is-jspf-file-extension-how-to-compile-it
http://publib.boulder.ibm.com/infocenter/wchelp/v5r6/index.jsp?topic=/com.ibm.commerce.developer.doc/refs/rsdjspbpjspf.htm

Кстати я так и не понял в чем сакральный смысл использования именно jspf? инклюдь jsp да не парься.
...
Рейтинг: 0 / 0
02.03.2012, 15:00:19
    #37688474
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
Значит придется юзать *.jsp по старинке.
...
Рейтинг: 0 / 0
02.03.2012, 15:29:04
    #37688557
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
А что в этом плохого, да и вообще jsp - это прошлый век, советую перейти на какой-нибудь легковесный фреймворк с возможностями компоновки,ну там FreeMarker или Velocity. Там почти голый html, с некоторыми вкраплениями EL, плюс удобные фичи для инклуда\темплейтинга
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
18.09.2013, 15:37:01
    #38400308
Mak13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не совсем понимаю разницу между загрузкой *.jsp и *.jspf
Если эта тема кому-нибудь окажется актуальной...

.jspf файлы - они для директив <%@include file="/includes/Header.jspf"%>

В них можно вставлять EL-выражения, они будут работать.
Но: Когда страничка генерируется, директива тупо вставляет содержимое .jspf - файла в ту
.jsp-страницу, где директива воткнута. Потом всё компилируется. Происходит эта процедура один раз.
По итогу получается, что EL-выражение оказывается в .jsp-странице, потому всё и работает. Контейнер по умолчанию настроен, что EL-выражения в .jsp файлах нужно эвалюировать.

Если вы обращаетесь к .jspf файлу в рантайме:
<jsp:include page="/includes/Header.jspf">
<jsp:param name="root" value="./.."/>
</jsp:include>
А в шаблоне, например, параметр этот цепляется:
<img src="${param.root}/images/web-services.jpg" alt="web-services logo">

контейнер обратится к .jspf - файлу и выдаст его ответ "как есть", EL-выражения обрабатывать не будет.
Стоит подправить расширение файла на .jsp - всё заработает.

Мораль проста. Используйте файлы по назначению :)

А вообще да. JSP - очень бородатая попытка разделить отрисовку и контроллер. С тех времён много чего нового напридумывали...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Не совсем понимаю разницу между загрузкой *.jsp и *.jspf / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]