2010-01-13 13 views
7

Po prostu chcę dołączyć stronę serwera plików HTML do innego pliku HTML, używając JSP. PHP jest niedostępne. Czy tego właśnie chcę?Odpowiednik JSP do funkcji PHP include()?

<jsp:include page="/include.html"></jsp:include> 
+0

Czy próbował? Jak to się nie udało? – BalusC

Odpowiedz

9

Masz kilka opcji. Pierwszy to <jsp:include>. Drugi to <c:import>. Znaczniki c: to JSTL, JavaServer Pages Standard Tag Library.

Jaka jest różnica? Przede wszystkim <jsp:include> wstawia zawartość innej strony JSP w obrębie tego samego pliku JAR w stosunku do bieżącej strony, podczas gdy <c:import> może odczytywać w bezwzględnym lub względnym adresie URL i wyświetlać te treści na stronie, pobierać wartość Reader lub zapisywać zawartość w zmiennej.

Składnia jest zarówno XML tak:

<jsp:include page="header.jsp"/> 

lub

<jsp:include page="header.jsp"></jsp:include> 

Uwaga: oba mogą przyjmować parametry.

+1

+1. Patrząc na dokumenty, wygląda na to, że zrobi to, o co prosi OP; jednak nie wydaje się być całkowicie analogiczne do PHP include(). Warto zauważyć, że dołączony plik nie ma takiego samego globalnego zasięgu; funkcje/klasy utworzone przez dołączony plik nie będą dostępne w skrypcie włączającym itp. Zamiast tego wykonuje on dołączony skrypt i zwraca dane wyjściowe. –

+0

Gdzie jest twój głos, Frank? Zrobiłem pierwszy awans, ale nie widzę drugiego :) – BalusC

+0

Dzięki, więc powyższy przykład jest prawidłową składnią? – mehas

1

Dla tych, którzy chcą to samo zachowanie jak PHP include() lub <!--#include file="header.jsp"-->, ze wspólną zasięgu globalnym w JSP, należy użyć następującego polecenia:

<%@include file="header.jsp"%> 

referencyjny: Here