directivas del compilador JSP e instrucciones de acción



instrucciones JSP dividen en dos categorías, y compilar el comando operación de la instrucción.

instrucciones de preparación <% @ Archivo inlcude =”“%> 和 <% @ page 属性 1 属性 2%> 和 <% @ taglib (uri = "tagLibraryURI" | tagdir = "tagDir") prefix = "tagPrefix" %>
comando de acción < jsp:include><jsp:forward><jsp:useBean>

Un directivas del compilador, JSP

(1 pagina

Es una instrucción para la página actual

propiedades comunes de instrucción pag

propiedad definiciones
language = "lengua" El contenedor JSP principal especifica qué idioma usar para compilar la página JSP. JSP estados de especificación 1.2, en la actualidad sólo pueden utilizar el lenguaje Java, pero no descarta futuros aumentos en otros idiomas, como C, C ++, Perl, y así sucesivamente. El valor por defecto es el lenguaje Java
se extiende = "nombre de la clase base" La definición principal de esta página JSP generada servlet que hereda la clase padre
import = "nombre del paquete" Esta página JSP se define que se puede utilizar bibliotecas de clases de Java
sesión =”true 或 falsa” Esta página JSP puede decidir si desea utilizar el objeto de sesión. El valor predeterminado es verdadero
buffer =”Ninguno Tamaño 或 en kb” Se determina la secuencia de salida (flujo de salida) si existe un tampón. El búfer predeterminado es de 8 KB
autoFlush =”true 或 falsa” Decidir si para amortiguar el flujo de salida para limpiar automáticamente el búfer está lleno sería una excepción (Excepción). El valor predeterminado es verdadero
isThreadSafe =”true 或 falsa” Indica al contenedor JSP, si la página JSP puede manejar simultáneamente múltiples peticiones. El valor por defecto es cierto, si este valor se establece en Servlet falsa, escapó generada alcanzará interfaz SingleThreadModel.
info =”text” Esta información representa las páginas JSP
ErrorPage =”error_url” Representa una excepción si se produce un error, la página será redirigido a la URL especificada
isErrorPage =”true 或 falsa” Se indica si esta página JSP se dedica a la manipulación de errores y excepciones páginas
contentType = “ctinfo” Se indica el tipo de codificación MIME y las páginas JSP, que actúa método setContentType HttpServletResponse interfaz ()

 (2) incluyen

        incluyen instrucciones pueden ser incorporados en un fichero externo al archivo actual JSP, JSP al analizar la página comunicado. incluir comandos puede contener tanto la página JSP puede contener texto estático. la sintaxis de comandos de compilación es la siguiente:

<%@ include file="要导入的jsp页面或文本文件" %>

     

    Precauciones incluyen el uso del comando: 
          (1) Nombre de archivo no puede ser variable dependiente, el siguiente ejemplo es incorrecto :

<%! String url="header.jsp" %>
<%@ include="<%=url %>"

           Volver (2) nombre de archivo no puede pasar parámetros, el siguiente ejemplo es incorrecta :

<%@ include file="header.jsp?username=abc" %>

          (3) la ruta del archivo es una ruta relativa a este JSP.

(. 3) taglib directiva

     taglib directiva de página permite el uso de etiquetas personalizadas.
     taglib directiva sintaxis es la siguiente:
    <% @ taglib (URI = "tagLibraryURI" | = la tagdir "tagdir") prefijo = "el tagPrefix" %>

directiva taglib tiene tres atributos:

  • s

    : Este atributo identifica de forma exclusiva y el prefijo (prefijo) asociado descriptor biblioteca de etiquetas puede ser absoluta o relativa URI. Este URI se utiliza para la localización de la posición descriptor de la biblioteca.

  • tagdir

    : Este atributo indica prefijo (prefijo) para ser montado en una etiqueta usada para identificar el / WEB-INF / tags / directorio de archivo o subdirectorio, se utiliza un descriptor de biblioteca de etiquetas implícita.
    La conversión de los siguientes tres casos (Traducción) Error:
    el valor de la propiedad no es / WEB-INF / tags / start.
    Valor de la propiedad no apunta a un directorio que ya existe.
    Esta propiedad se utiliza junto con el atributo uri.

  • prefijo

    : Definir un prefijo: Forma prefijo de cadena tagname, para distinguir una pluralidad de etiquetas personalizadas. Con JSP :, JSPX :, Java :, javax :, servlet :, sol: y sunw: el comienzo del prefijo está reservado. nombre del prefijo debe seguir nombrando los espacios de nombres XML convención. En la especificación JSP 2.0, el prefijo es nulo ilegal

   sintaxis directiva de compilación es la siguiente:

<%@ 编译指令名 属性名1="属性值" 属性名2="属性值" ...  %>

EG:  instrucciones taglib para introducir alguna biblioteca etiqueta específica, la sintaxis:

<%@ taglib prefix="tagPrefix" uri="tagLibraryURI" %>

biblioteca de etiquetas uso puntales: por ejemplo,

<%@ taglib prefix="s" taglib="/struts-tags" %>

 


comando de acción JSP

 

1, hacia adelante

     Uso <jsp:forward>formato para <jsp:forward page="filename">

  Por ejemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="UTF-8"%>
   
<jsp:forward page = "login.jsp">
	<jsp:param value = "zoeng" name = "userName"/>
	<jsp:param value = "jikexueyuan" name = "password"/>
</jsp:forward>

fuente login.jsp como sigue:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<%
	String userName = request.getParameter("userName");
	String password = request.getParameter("password");
	out.print(userName);
	out.print("<br/>");
	out.print(password);
%>

</body>
</html>

Hay algunas cosas que explicar,

  1. <jsp:forward>Código después no se ejecuta el comando de operación (se puede probar).
  2. Utilizando la página anterior comando de operación de salto, la dirección del navegador o la dirección de salto de página

2, incluir

<Jsp: include>: comprende dinámico

Por ejemplo:


index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<jsp:include page = "header.html"></jsp:include>
<jsp:include page = "body.jsp">
	<jsp:param value = "red"  name = "bgcolor" />
</jsp:include>
</html>

header.html:

<head>
<meta charset="UTF-8">
<title>include</title>
</head>

body.jsp:
<body bgcolor = "<%= request.getParameter("bgcolor") %>">
</body>

<% @ Include%>: contiene estática

                 Estático y dinámico incluir una explicación detallada: https://blog.csdn.net/zfl589778/article/details/56494523

        Se puede concluir de lo anterior:

       Para que comprende estática, <% @% el include>, contenida en el archivo, simplemente encajado en el archivo principal, se convierte a páginas El servlet JSP cuando se monta en el archivo principal, ya que el resultado de la operación se genera sólo un Servlet .

       Para dinámico incluir <jsp: incude> , si el archivo incluido es dinámica, se generan dos Servlet, que es también objeto de la archivo incluido compilado motor JSP para generar una ejecución Servlet, llevada a cabo por dos solicitud Servlet y reponse la comunicación. Si el archivo incluido es estático, y luego esta <% @ include> muy similar, sólo generan un servlet, pero no un simple encajado entre ellos, y la comunicación todavía se lleva a cabo mediante la solicitud y Reponse.

3, useBean

el blog de referencia: https://blog.csdn.net/qq_26525215/article/details/52072428

JavaBean es en realidad un seguimiento redacción específica de las clases de Java, sino que debe tener las siguientes características :

      1. El constructor de la clase java debe tener un parámetro no se da a conocer

      2. La propiedad debe ser privatizada, la clase debe ser pública

      3. La privatización de la propiedad debe ser expuesto a otro tipo de programas a través de los métodos públicos y nomenclatura también deben cumplir con ciertas convenciones de nomenclatura --- getXXX y el método setXXX.

     La clase tiene un conjunto de atributos y métodos get, que podemos llamar JavaBean. De hecho JavaBean es una clase Java, Java en esta clase formará una regla por defecto - establecer y obtener en la propiedad. Pero por el contrario va a decir ava clase es un JavaBean, esta afirmación es incorrecta, ya que no es necesariamente una clase Java (que no es necesariamente establecer y obtener métodos) para establecer las propiedades y métodos disponibles.

Acceso JavaBean en la sintaxis JSP:

       1, una declaración de los JavaBean como - debe utilizar el nombre completo de la clase:

     <Jsp: id useBean = clase “someBean” = alcance “package.SomeBean” = “página” />

       Correspondiente a la declaración anterior: SomeBean someBean = new SomeBean (); pageContext.setAttribute ( "someBean", someBean);

      margen para el valor opcional: página | pedido | sesión | solicitud

     Cabe señalar que: En circunstancias normales, nos reservamos el <jsp: useBean /> La sección del cuerpo está vacío, si no está vacío, entonces sólo realizar la inicialización este Bean, como por ejemplo: <jsp: Identificación del useBean = clase "persona" = " cn.Person "> esta es la parte del cuerpo una vez </ jsp durante la inicialización: UserBean>

   <jsp:useBean>marcar:

    <Jsp: Identificación del useBean = "nombre" class = "nombre de clase" scope = "página | pedido | sesión | aplicación" />

     id: Un ejemplo representativo de un objeto JSP referencias de página por miembros de la clase de objeto, tales como, id = "wq", los miembros WQ () ;.

     clase: representante de la clase JavaBean, tales como: class = "com.Test", un paquete de referencia en la clase de prueba com

     Alcance: indica el tiempo de supervivencia de JavaBean. El valor predeterminado es ámbito de la página. Cuando una declaración después de Bean y lo puso en una categoría de los usados nuevamente en el mismo rango <jsp:useBean../>ya no será creado. Pero para darle devuelve una instancia de Bean ha sido creado directamente. Este proceso se puede ver la traducción del código fuente de ese contenedor.

      2, de acceso propiedades JavaBean:

    <Jsp: setProperty nombre = valor propiedad = “nombre” “someBean” = “Tom” />

    <Jsp: getProperty nombre = “someBean” propiedad = “nombre” />

   También puede utilizar el código Java en la página de acceder directamente a sus propiedades y otros métodos.

Por ejemplo:

register.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>录入注册信息</title>
</head>
<body>
	<form action = "do_register.jsp"  method = "post">
	用户名:<input type = "text" name = "userName" />
	password:<input type = "text" name = "password" />
	<input type = "submit" value = "submit" />
	</form>
</body>
</html>

do_register.jsp:

<html>
<head>
<meta charset="UTF-8">
<title>处理提交的内容</title>
</head>
<body>
<jsp:useBean id = "user" class = "com.jikexue.jsp.UserEntity" ></jsp:useBean>
<jsp:setProperty property = "userName" name = "user" />
<jsp:setProperty property = "password" name = "user" />
<%	
	String userName = request.getParameter("userName");
	String password = request.getParameter("password");
	out.print(userName);
	out.print("<br/>");
	out.print(password);
%>
<br/>
<jsp:getProperty property="userName" name = "user" />
<jsp:getProperty property="password" name = "user" />
</body>
</html>

<jsp: setproperty> Comentarios

Tomado de: https://blog.csdn.net/IT_COOKIE_SAM/article/details/55518753?locationNum=6&fps=1

jsp: setProperty operación tiene las siguientes cuatro propiedades, como sigue:

propiedad descripción
nombre Se requiere que el atributo de nombre. Se comprometió a establecer las propiedades de que Bean.
propiedad Se requiere atributo de propiedad. Se indica que la propiedad que desea ajustar. Hay un caso especial: Si el valor de la propiedad es "*" indica los nombres de todos los parámetros de la petición y atributos nombres coincidentes frijol serán pasados ​​al método set atributo correspondiente.
valor atributo de valor es opcional. Esta propiedad se utiliza para especificar el valor de la propiedad de un Bean. La cadena de datos mediante métodos estándar en la clase de objetivos valueOf convierte automáticamente a digital, boolean, Boolean, byte, Byte, char, Carácter. Por ejemplo, los valores de propiedad de tipo booleanos y booleanos (tales como "true") por conversión Boolean.valueOf, y los valores de atributo int tipo Integer (como "42") de conversión por Integer.valueOf. El valor de PARAM y no puede ser utilizado, pero cualquiera de ellos puede ser utilizado.
PARAM parámetro es opcional. Se especifica qué parámetros como valor del atributo solicitud Bean. Si la petición actual no tiene parámetros, entonces no hacer nada, el sistema no pasa método nula para establecer las propiedades de frijol. Así que usted puede hacer su propio grano de proporcionar valores de atributos por defecto, sólo cuando el parámetro de petición especifica explícitamente un nuevo valor para modificar los valores de las propiedades por defecto.

    getProperty: Obtener la haba de valor de la propiedad y convertirla en una cadena de caracteres, que se inserta en la página.

   Jsp: getproperty debe tener dos atributos:

   Nombre: representa el nombre del frijol

   Propiedad: que representa el valor de un atributo de la extracción.

      JSP referencia mencionado en el sol, si se utiliza la etiqueta <jsp: getProperty> para recuperar el valor es nulo, NullPointerException aparecerá entonces al mismo tiempo, si se utiliza el bloque para recuperar su valor o expresión, entonces los navegadores aparece en es null (vacío).

 

 

Publicado 14 artículos originales · ganado elogios 1 · vistas 5533

Supongo que te gusta

Origin blog.csdn.net/Vpn_zc/article/details/81177374
Recomendado
Clasificación