Latest web development tutorials

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>本教程(w3big.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" ... />
...
<jsp:setProperty name="myName" property="someProperty" .../>

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" ... >
...
   <jsp:setProperty name="myName" property="someProperty" .../>
</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" ... />
...
<jsp:getProperty name="myName" property="someProperty" .../>

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>本教程(w3big.com)</title>
</head>
<body>

<h2>Jsp 使用 JavaBean 实例</h2>
<jsp:useBean id="test" class="com.w3big.main.TestBean" />
 
<jsp:setProperty name="test" 
                    property="message" 
                    value="本教程..." />
 
<p>输出信息....</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>本教程(w3big.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>本教程(w3big.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.