Você está na página 1de 14

TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico de León

DAE

TÍTULO DEL TRABAJO

INVESTIGACIÓN

SOBRE LA SINTÁXIS Y USO DE LAS DIFERENTES SENTENCIAS


DEL LENGUAJE DE EXPRESIÓN DE JAVA PARA LAS JSP

QUE PRESENTA:

RICARDO SANTANA MORA MONTIEL

CON LA ASESORÍA DE:

ASESOR (A) EXTERNO (A):

ING.JORJE MENDOZA ZAPATA

León, Guanajuato
INTRODUCCION
En esta ocasión veremos la sintáxis y uso de las diferentes sentencias del
lenguaje de expresión de java para las jsp.

El código JSP (basado en lenguaje Java) se inserta en la página web mediante


etiquetas, siguiendo una sintaxis específica.

A continuación, se describen cada una de las posibles etiquetas JSP hablando de


expresiones , las cuales se pueden agrupar en 3 grandes grupos (el signo que
indica el principio y final de casi todas ellas es el signo de tanto por ciento "%").

También debemos saber que es jsp y expresión.

JSP
Fichero con código (X)HTML que incluye scripts codificados en Java

• Permite usar (X)HTML para definir gran parte de la página

• E introducir código Java en las partes dinámicas de la página

• Mediante etiquetas especializadas (Custom Tags) que amplían la sintaxis


de HTML  Se compila y se convierte en un servlet (solo la primera vez que
se invoca).

Se ejecuta como un servlet  Con JSP es más fácil que se distribuya la tarea de
diseño de la página web y la programación de la aplicación web.

¿Qué es una expresión?


Una expresión es una construcción hecha de variables, operadores e invocaciones
de métodos, creados según la sintaxis del lenguaje, que evalúa a un solo valor.
DESARROLLO
¿Qué es una expresión en java jsp?
A las expresiones JSP lenguaje de scripts contenidos en la expresión, se convierte
primero en cadena y, a continuación, inserta en las expresiones locales surgir.

Dado que el valor de la expresión se convierte en una cadena, por lo que puede
utilizar las expresiones en una línea de texto sin tener de si se trata de etiquetas
HTML.

elemento de expresión puede contener cualquier expresión que se ajusta a la


especificación del lenguaje Java, pero no se puede utilizar un punto y coma al final
de la expresión.

Formato:

La sintaxis de una expresión es <%= expresión %> o,

alternativamente, usando los espacios de nombres de XML

<jsp:expression> expresión </jsp:expression>

Resultado:

• Expresión evaluada, convertida a cadena, y puesta en la página HTML en


el lugar donde ocurrió en la página JSP.
• Es decir, la expresión se pone en el _jspService dentro de out.print.

Ejemplos:

• Tiempo actual: <%=new java.util.Date()%>


• Tu nombre de maquina: <% request.getRemoteHost()%>

Sintáxis compatible XML :

• <jsp:expression> Java Expression </jsp:expression>


• Versión de XML no suportada por Tomcat 3.1
• Hasta la versión JSP 1.2, los servidores no tienen que darle soporte.
Ejemplo usando expresiones JSP

Original JSP:

<H1> A Random Number </H1>

<%= Math.random() %>

Resultado posible del código Servlet:

public void _jspService(HttpServletRequest request, 26 HttpServletResponse


response) throws ServletException IOException{

request.setContentType(“text/html”);

HttpSession session = request.get Session(true);

JspWriter out = response.getWriter();

out.println(““<H1> Random Number</H1>);

out.println(Math.randon());

…}
Lenguaje de expresiones (EL)
(EL) define un lenguaje para expresar expresiones simples en una sintaxis que
sea fácil de aprender. (EL) fue inspirado en JavaScript y en cierto grado en XPath,
pero EL es mucho más flexible con variables sin valor (null) y realiza más
conversiones de tipos en forma automática. Estás características son importantes
para aplicaciones en el Web, donde la entrada esta principalmente en forma de
parámetros de petición:
• Los cuales pueden estar presentes en algunas peticiones, pero en otras no,
y el visualizador siempre envía los parámetros de petición como valores de
texto, mientras que la aplicación a menudo necesita usarlos como números
o valores booleanos (falso o verdadero).
• De la manera como EL está diseñado, rara vez necesitamos
preocuparnos por ausencia de valores o conversión de tipos.

Una expresión EL contiene variables y operadores. Cualquier Bean contenido en


uno de los ámbitos del JSP (página, petición, sesión o aplicación) puede ser
utilizada como una variable EL. Las expresiones del EL combinadas con etiquetas
JSTL tomadas de las cuatro bibliotecas estándares, provee un conjunto amplio y
flexible de características.

Todas las expresiones EL están encerradas en ${ }.Las expresiones en JSTL son


siempre parte de valores de atributos en las etiquetas JSTL:

• Las expresiones pudieran ser la única parte del atributo o pudieran estar
combinadas e incrustadas en literales de cadena.
• Los atributos de JSTL pueden también contener simples literales de
cadenas.

Aquí tenemos a EL que agrega 5 a una variable llamada amount:

${amount + 5}

Si se desea agregar 5 al valor de una propiedad de un Bean, se utiliza el operador


que accede a la propiedad:

${order.amount + 5}

EL operador de acceso (punto) le dice a EL que busque por la propiedad indicada


(amount, en este caso) en el Bean o colección especifica (order, en este caso, el
cual puede ser un Bean o Java.util.Map).

Como alternativa, se puede usar el operador de acceso a elementos de un arreglo:

${order['amount'] + 5}

El valor entre los corchetes debe ser tanto una cadena para el nombre de la
propiedad (como en este ejemplo) o una variable (o aun una sub-expresión EL
completa ) que mantiene el nombre de la propiedad.

Las expresiones EL pueden ser utilizadas para asignar valores a cualquier atributo
de acción estándar o personalizado de JSP que acepte un valor dinámico (o
valores de atributo request-time, como se llaman formalmente):
<c:out value="${order.amount + 5}"/>

EL proporciona soporte para acceder propiedades de objetos y elementos de


colecciones, un conjunto de objetos implícitos y utilizar operadores relacionales
lógicos y aritméticos.Para las propiedades indizadas, incluyendo arreglos y clases
Java.util.List, los elementos pueden ser accedidos con la sintaxis siguiente:

${alist[4]}

${aList[someVariable]}

Las propiedades de JavaBeans y los elementos de Java.util.Map (los cuales


representan un conjunto de pares nombre/valor) pueden ser accedidos usando
unas de la siguientes maneras:

• En las primeras dos expresiones, podemos acceder a una propiedad


llamada aProperty en un JavaBean o una entrada a Map con la clave
aProperty.
• En la tercera expresión (note que no hay comillas), tenemos acceso a un
elemento de anObject con un nombre contenido en la variable
aVariableContainingPropertyName:

${anObject.aProperty}

${anObject["aPropertyName"]}

${anObject[aVariableContainingPropertyName]}
objetos implícitos JSP EL
Palabras de reserva en lenguaje de expresión (EL)

Hay muchas palabras reservadas en el lenguaje de expresión (EL) y la lista se da


a continuación.

Los operadores describen lo que se desea hacer con las variables. Los
operadores que se pueden usar en una expresión EL parecerán familiar si ya se
ha utilizado algún lenguaje de programación antes, porque son parecidos a los
utilizados por la mayoría de los lenguajes:
Por último.

Puede utilizar estos objetos en una expresión, como el uso de la misma variable. A
continuación, dará algunos ejemplos para entender mejor este concepto.

Objetos pageContext
pageContext objeto es una referencia al objeto JSP pageContext. Por
pageContext objeto, se puede acceder al objeto de solicitud. Por ejemplo, para
acceder al objeto solicitud aprobada en la cadena de consulta, así:

${pageContext.request.queryString}

Alcance Objetos
PageScope, requestScope, sessionScope, variables applicationScope se utiliza
para acceder a los datos almacenados en cada uno de los niveles de alcance
variable.

Por ejemplo, si necesita acceder a la caja de forma explícita applicationScope


capa variable, se puede acceder a: applicationScope.box.

param y paramValues objetos


param y paramValues objeto se utiliza para acceder a los valores de parámetros
mediante el método request.getParameter métodos y
request.getParameterValues.

Por ejemplo, el acceso a un parámetro de orden citado puede utilizar esta


expresión: $ {} param.order, o $ {param [ "orden"]}.

Los siguientes ejemplos muestran cómo acceder al parámetro de petición de


nombre de usuario:

<%@ page import="java.io.*,java.util.*" %>

<%

String title = "Accessing Request Param";

%>

<html>
<head>

<title><% out.print(title); %></title>

</head>

<body>

<center>

<h1><% out.print(title); %></h1>

</center>

<div align="center">

<p>${param["username"]}</p>

</div>

</body>

</html>

param objeto devuelve una única cadena, objeto paramValues se devuelve una
matriz de cadenas.

Objetos de cabecera y headerValues


cabecera y el objeto headerValues se utiliza para acceder a la información de
cabecera mediante el uso de los métodos y el método request.getHeaders
request.getHeader.

Por ejemplo, para acceder a la información, llamado encabezado de agente de


usuario puede utilizar esta expresión: $ {} header.user-agente, o $ {cabecera [
"user-agent"]}.

Los siguientes ejemplos muestran cómo acceder a la cabecera User-Agent:

<%@ page import="java.io.*,java.util.*" %>

<%

String title = "User Agent Example";

%>
<html>

<head>

<title><% out.print(title); %></title>

</head>

<body>

<center>

<h1><% out.print(title); %></h1>

</center>

<div align="center">

<p>${header["user-agent"]}</p>

</div>

</body>

</html>

Los resultados son como sigue:

objeto de encabezado devuelve un solo valor, mientras que headerValues


devuelve una matriz de cadenas.

Otro ejemplo de Lenguaje de expresión:

index.jsp

<form method = " POST " action = " welcome.jsp ">

Nombre <input type = "text" name = " user ">

<input type = "submit" value = "Submit">

</form>
bienvenido.jsp

<html>

<head>

<title> Página de bienvenida </title>

</head>

<body>

<h1> Bienvenido $ {param.name} </h1>

</body>

</html>

Veremos el siguiente ejemplo donde se usa EL cómo operador para sumar dos
números y obtener el resultado.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>JSP EL Example</title>

</head>

<body>

<div id="demoDivId">

<span id="demoExpressionId">Expression is: </span><span


id="outputResultId">${1+2};</span>

</div>

</body>

</html>
CONCLUSION
He llegado a la conclusión de que lenguaje de expresiones permite acceder de
manera muy sencilla a las propiedades de los beans esto permite asignar o leer
valores de las etiquetas.

Aprendí cómo crear y usar el lenguaje de expresión JSP (EL) a través de una
aplicación simple.

También que, al utilizar este lenguaje de expresión, los creadores de páginas


podrían reducir drásticamente la cantidad de scripts en sus páginas, lo que
resultaría en una mayor productividad, un mantenimiento más fácil y una curva de
aprendizaje más plana en términos de desarrollo de páginas. A lo largo de los
años.

BIBLIOGRAFIA
http://docs.oracle.com/javaee/6/tutorial/doc/

http://courses.coreservlets.com/Course-Materials/csajsp2.html

http://www.apl.jhu.edu/~hall/java /Servlet-Tutorial /Servlet-Tutorial-JSP.html

https://www.adictosaltrabajo.com/2003/10/18/jspel/

http://www.w3big.com/es/jsp/jsp-expression-language.html

Você também pode gostar