Elementy akcji JSP
JSP i elementy nauczania jest inny, elementy akcji JSP odgrywać rolę w fazie przetwarzania żądania. JSP elementem działania jest napisane przy użyciu składni XML.
Akcje Użyj JSP mogą dynamicznie wstawić plik, ponowne użycie komponentów JavaBeans, przekierować użytkownika do innej strony HTML kod jest generowany dla Java plug-in.
Akcja jest tylko jeden element składni, jest on zgodny ze standardami XML:
<jsp:action_name attribute="value" />
elementy akcji są zasadniczo predefiniowanych funkcji, specyfikacji JSP definiuje zestaw standardowych działań, używa JSP jako przedrostek, standardowe elementy akcji są dostępne:
gramatyka | opis |
---|---|
jsp: include | Wprowadzenie dokumentu, gdy strona nie jest wymagana. |
jsp: useBean | Znajdź lub instancji JavaBeans. |
jsp: setProperty | Ustaw właściwości JavaBeans. |
jsp: getProperty | Wyjście właściwości JavaBeans. |
jsp: forward | Wniosek do nowej strony. |
jsp: plugin | Wygenerowane obiektu lub embed dla wtyczki Java w oparciu o typ przeglądarki. |
jsp: Element | Definiowanie dynamiczny element XML |
jsp: atrybut | Ustaw atrybuty dynamicznie zdefiniowany element XML. |
jsp: Ciało | Ustaw dynamicznie określoną zawartość elementu XML. |
jsp: text | Użyj tekstu pisanego na stronach JSP i szablonów dokumentów |
wspólne cechy
Wszystkie elementy działania posiadają dwa atrybuty: Atrybut id i atrybut zakres.
- Atrybut id:
Atrybut id jednoznacznie identyfikuje element działania można odwoływać się w stronach JSP. wartość id elementu akcji stworzonej może być wywoływany przez pageContext.
- atrybut zakres:
Ten atrybut jest używany do identyfikacji elementów działania w cyklu życia. Parametry id i zakres są bezpośrednio związane, atrybut zakres określa żywotność związanej ID obiektu. Nieruchomość składa się z czterech możliwych zakres wartości: (a) Strona, (b) wniosek, (c) sesji, oraz (d) stosowanie.
<Jsp: include> Elementy akcji
<Jsp: include> elementem działania jest używany do przechowywania statyczne i dynamiczne dokumentu. Działanie określonego pliku na stronie, która jest generowana. Składnia jest następująca:
<jsp:include page="相对 URL 地址" flush="true" />
Został on wprowadzony obejmują nauczanie, który został wprowadzony w pliku dokumentów JSP jest przekształcana w Servlet kiedy i gdzie jsp: include działania różni się od czasu, gdy plik zostanie wstawiony na stronie jest wymagane.
Poniżej znajduje się lista działań obejmują odpowiednie właściwości.
nieruchomość | opis |
---|---|
strona | Zawarte w widoku względnego adresu URL. |
spłukać | Boolean właściwość, która zawiera definicje zasobów wcześniej czy aby odświeżyć pamięć podręczną. |
Przykłady
Definiujemy następujące dwa pliki date.jsp i main.jsp, kod w następujący sposób:
date.jsp kod pliku:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p>
main.jsp kod pliku:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h2>include 动作实例</h2> <jsp:include page="date.jsp" flush="true" /> </body> </html>
Teraz bardziej niż dwa pliki w katalogu głównym serwera, pliku dostępu main.jsp. Pokaż wyniki w następujący sposób:
include 动作实例 今天的日期是: 2016-6-25 14:08:17
<Jsp: useBean> elementy akcji
JP: useBean działanie służy do załadowania JavaBean do wykorzystania na stronie JSP.
Funkcja ta jest bardzo przydatna, ponieważ pozwala nam grać Java przewagę ponownego wykorzystania komponentów.
jsp: useBean działania Najprostszym Składnia jest następująca:
<jsp:useBean id="name" class="package.class" />
Po klasy jest załadowany, możemy albo poprzez jsp: do modyfikowania i pobrać właściwości Bean GetProperty Działanie: setProperty i JSP.
Poniżej znajduje się lista atrybutów związanych działania useBean.
nieruchomość | opis |
---|---|
klasa | Podaj pełną nazwę pakietu Bean. |
typ | Określa zmienną typu obiektu odniesienia. |
beanName | () Aby określić nazwę Bean java.beans.Beans przez instancję. |
Przed podaniem konkretnych przykładów, rzućmy okiem na jsp: setProperty oraz jsp: getProperty działania elementów:
<jsp: setProperty> Elementy akcji
jsp: setProperty ustawić atrybuty już instancja obiektu Bean, na dwa sposoby. Po pierwsze, można jsp: useBean użyciu elementu zewnętrznego (z tyłu) jsp: setProperty, co następuje:
<jsp:useBean id="myName" pl. /> pl. <jsp:setProperty name="myName" property="someProperty" pl./>
W tym przypadku, niezależnie od tego, jsp: useBean jest znalezienie istniejącego Bean, lub utworzyć nową instancję Bean, JSP: setProperty jest wykonywany. Drugi polega na użyciu jsp: setProperty w jsp: useBean element wnętrza, co następuje:
<jsp:useBean id="myName" pl. > pl. <jsp:setProperty name="myName" property="someProperty" pl./> </jsp:useBean>
W tym czasie, jsp: setProperty tylko w nowej instancji Bean będą realizowane, jeśli używasz istniejącej instancji nie jest wykonywana jsp: setProperty.
JP: Działanie setProperty ma cztery następujące właściwości w poniższej tabeli:
nieruchomość | opis |
---|---|
nazwa | jest wymagany atrybut name. Mówi się, aby ustawić właściwości którego Bean. |
nieruchomość | jest wymagany atrybut nieruchomości. To wskazuje, które przypisują ustawić. Istnieje specjalny Zastosowanie: Jeśli wartość właściwości jest "*" oznacza wniosek o nazwach wszystkich parametrów i Bean nazwy atrybutów meczu zostanie przekazany do odpowiedniego zestawu atrybutów metody. |
wartość | wartość atrybutu jest fakultatywne. Ten atrybut jest używany do określenia wartości nieruchomości Bean. Dane String w klasie docelowej poprzez standardową metodą valueOf automatycznie zamienione na cyfrową, Boolean, Boolean, byte, byte, char, charakter. Na przykład, logiczną i typu Boolean wartości nieruchomości (na przykład: "true") przez konwersję Boolean.valueOf, wartości nieruchomości typu int i Integer (takich jak "42") przez konwersję Integer.valueOf. Wartość param i nie mogą być używane, ale można użyć dowolnego z nich. |
param | param jest opcjonalne. To określa, które parametry żądania jako wartość nieruchomości Bean. Jeśli obecny wniosek nie ma parametrów, to nic nie zrobisz, system nie zostanie przekazana do zerowej metody opisanej nieruchomości Bean. Więc można zrobić własną Bean zapewnia domyślną wartość właściwości tylko wtedy, gdy parametry żądania jawnie określić nową wartość do zmiany wartości właściwości domyślnych. |
<jsp: getProperty> Elementy akcji
jsp: getProperty działania w celu wyodrębnienia wartości określonej właściwości Bean, przekształca się w ciągu, a następnie wyjście. Składnia jest następująca:
<jsp:useBean id="myName" pl. /> pl. <jsp:getProperty name="myName" property="someProperty" pl./>
Poniższa tabela jest własnością związany z getProperty:
nieruchomość | opis |
---|---|
nazwa | Bean Nazwa właściwości do pobrania. Fasola musi być zdefiniowana. |
nieruchomość | Reprezentuje ona wartość nieruchomości, aby wyodrębnić Bean |
Przykłady
W poniższym przykładzie użyjemy Bean:
package com.w3big.main; public class TestBean { private String message = "本教程"; public String getMessage() { return(message); } public void setMessage(String message) { this.message = message; } }
Skompilować powyżej przykładowe pliki TestBean.java:
$ javac TestBean.java
Po kompilacji wygeneruje w bieżącym katalogu TestBean.class plik, skopiuj plik do projektu w ramach WebContent JSP / WEB-INF / classes / com / w3big / main (com / w3big / main ścieżki prądu pakietu, nie ma potrzeby ręcznego Create).
Oto struktura katalogów Eclipse:
Oto bardzo prosty przykład, jego zadaniem jest załadowanie Bean, a następnie ustaw / odczyt atrybutów jego przesłanie.
Teraz nazwijmy fasoli w main.jsp pliku:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h2>Jsp 使用 JavaBean 实例</h2> <jsp:useBean id="test" class="com.w3big.main.TestBean" /> <jsp:setProperty name="test" property="message" value="本教程pl." /> <p>输出信息plpl</p> <jsp:getProperty name="test" property="message" /> </body> </html>
dostęp przez przeglądarkę, realizacja powyższych dokumentów, wyjście jest w następujący sposób:
<Jsp: przekazania> Elementy akcji
jsp: akcja przekazuje wniosek do innej strony. jsp: tag przodu ma tylko jedną stronę właściwości. Składnia jest następująca:
<jsp:forward page="相对 URL 地址" />
Poniżej znajduje się forward związane właściwości:
nieruchomość | opis |
---|---|
strona | atrybut strona zawiera względny adres URL. Wartość stronę albo podawać bezpośrednio dynamicznie obliczone w chwili złożenia wniosku, który może być strona JSP lub Java Servlet. |
Przykłady
Poniższy przykład używamy dwa dokumenty, a mianowicie: date.jsp i main.jsp.
date.jsp kod pliku jest następująca:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p>
main.jsp kod pliku:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h2>forward 动作实例</h2> <jsp:forward page="date.jsp" /> </body> </html>
Teraz bardziej niż dwa pliki w katalogu głównym serwera, pliku dostępu main.jsp. Pokaż wyniki w następujący sposób:
今天的日期是: 2016-6-25 14:37:25
<jsp: plugin> Elementy akcji
jsp: plugin działania jest stosowany w zależności od rodzaju przeglądarki, wstaw obiekt lub element embed biegnącej przez plug-in Java apletu Java niezbędny.
Jeśli wtyczka nie musi istnieć, to pobrać plug-in, a następnie wykonać komponenty Java. komponenty Java mogą być aplet lub JavaBeans.
Działanie wtyczki odpowiadające wielu elementów HTML atrybuty formatowania komponenty Java. Element param może być używany do przekazywania parametrów do apletu lub fasoli.
Oto typowy przykład z elementów działania wtyczki:
<jsp:plugin type="applet" codebase="dirname" code="MyApplet.class" width="60" height="80"> <jsp:param name="fontcolor" value="red" /> <jsp:param name="background" value="black" /> <jsp:fallback> Unable to initialize Java Plugin </jsp:fallback> </jsp:plugin>
Jeśli jesteś zainteresowany, możesz spróbować użyć apletu przetestować jsp: plugin elementy akcji, <awaryjna> element jest nowym elementem, błąd występuje w niewydolności części jest wysyłany do użytkownika komunikat o błędzie.
<Jsp: element> <jsp: attribute> <jsp: body> Akcja
<Jsp: element> <jsp: attribute> <jsp: body> elementem akcji dynamicznie definiowanych elementów XML. Dynamiczny jest bardzo ważne, co oznacza, że elementy XML są generowane dynamicznie w czasie kompilacji, a nie statyczne.
Poniższy przykład definiuje dynamiczne elementy XML:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <jsp:element name="xmlElement"> <jsp:attribute name="xmlElementAttr"> 属性值 </jsp:attribute> <jsp:body> XML 元素的主体 </jsp:body> </jsp:element> </body> </html>
Przeglądarka umożliwia dostęp do następujących stron, wynik jest następujący:
<Jsp: text> Element Action
<Jsp: text> elementem działania pozwala na stosowanie szablonów napisać tekst w stronach JSP i dokumentów, składnia jest następująca:
<jsp:text>模板数据</jsp:text>
Powyższy szablon tekst nie może zawierać inne elementy, może zawierać tylko tekst i wyrażeń EL (Uwaga: Wyrażenie EL zostaną opisane w kolejnych rozdziałach). Należy pamiętać, że w pliku XML, nie można używać wyrażeń takich jak $ {cokolwiek> 0}, ponieważ symbol> jest nielegalne. Można użyć $ {0} niezależnie gt wyrażenie wartość lub osadzonych w sekcji CDATA.
<jsp:text><![CDATA[<br>]]></jsp:text>
Jeśli trzeba zadeklarować DOCTYPE XHTML, należy użyć <jsp: text> elementów działania, przykłady przedstawiają się następująco:
<jsp:text><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">]]> </jsp:text> <head><title>jsp:text action</title></head> <body> <books><book><jsp:text> Welcome to JSP Programming </jsp:text></book></books> </body> </html>
Można spróbować użyć powyższego przykładu <jsp: text> Różnice element i nie korzystać z wyników takiego działania.