Está en la página 1de 34

12

Uso de Componentes Struts de ADF

Copyright © 2004, Oracle. Todos los derechos reservados.


Objetivos

Al finalizar esta lección, debería estar capacitado para:


• Describir acciones de datos y páginas de datos
• Personalizar acciones de datos y páginas de datos
para mejorar el comportamiento de una aplicación
• Utilizar acciones de datos para acceder a varios
tipos de servicios de negocio
• Describir la relación entre páginas de datos
enlazados y páginas de datos

Copyright © 2004, Oracle. Todos los derechos reservados.


¿Qué son las Acciones de Datos?

Las acciones de datos son extensiones de la clase


Action, que:
• Se proporcionan con Oracle ADF
• Proporcionan acceso a servicios de negocio, como
Business Components
• Preparan los datos para que estén disponibles
para que las páginas los consuman

Copyright © 2004, Oracle. Todos los derechos reservados.


¿Qué son las Páginas de Datos?

Las páginas de datos son extensiones de la clase


DataAction, que:
• Se proporcionan con Oracle ADF
• Combinan una acción de datos y un reenvío de
página
• No se basan en reenvíos para reenviar datos de
aplicación
• Simplifican el diagrama de flujo de páginas

Copyright © 2004, Oracle. Todos los derechos reservados.


Uso de Páginas de Datos

Para utilizar una página de datos, realice los siguientes


pasos:
1. Cree la página de datos en el diagrama de flujo de
páginas.
2. Haga clic dos veces para crear el objeto de vista
correspondiente (JSP, HTML y UIX).
3. Defina el flujo de páginas de Struts que sea
necesario.
4. Agregue métodos de servicios de negocio a la
página de datos según sea necesario.

Copyright © 2004, Oracle. Todos los derechos reservados.


Creación de Páginas de Datos

Arrastre la página de /browseCustomer


datos al diagrama de
flujo de páginas. El archivo struts-
config.xml se
actualiza mediante
la acción de datos.

<action-mappings>
<action path="/browseCustomers"
className="oracle.adf.controller.struts.actions.DataActio
nMapping"
type="oracle.adf.controller.struts.actions.DataForwardAct
ion" name="DataForm" parameter="unknown"/>
</action-mappings>

Copyright © 2004, Oracle. Todos los derechos reservados.


Creación de Componentes de Vista

Haga clic dos veces en la página de


datos para crear el componente de vista.
/browseCustomer

<action-mappings>
<action path="/browseCustomers"
className="oracle.adf.controller.struts.actions.DataActio
nMapping"
type="oracle.adf.controller.struts.actions.DataForwardAct
ion" name="DataForm" parameter="/browseCustomers.jsp">
<set-property property="modelReference"
value="browseCustomersUIModel"/>
</action></action-mappings>

Copyright © 2004, Oracle. Todos los derechos reservados.


Visualización de Datos

Para mostrar datos desde la página de datos, agregue


elementos desde Data Control Palette:
• Datos enlazados
• Navegación
• Operaciones
Los controles de datos asociados a la acción de datos se
definen en DataBindings.cpx (se crean automáticamente).

Copyright © 2004, Oracle. Todos los derechos reservados.


Visualización de Datos

Seleccione elementos desde Data Control Palette y


arrástrelos hasta la página:

Código generado

<c:forEach var="Row" items="$


{bindings.CustomersView1.rangeSet}">
<tr><td>
<c:out value="${Row.CustomerId}">
</c:out></td>…

Copyright © 2004, Oracle. Todos los derechos reservados.


Modificación del Iterador

Haga clic en el icono UIModel en el panel Structure


para localizar el iterador del modelo. Después, utilice
Property Inspector para cambiar el tamaño de rango.

Copyright © 2004, Oracle. Todos los derechos reservados.


Adición de Métodos a Acciones de Datos

Para realizar DML con acciones de datos, agregue


métodos a la acción de datos:
Arrastre hasta el
icono de página de datos

/browseCustomer /addCustomer

<action path="/addCustomers"

<set-property property="methodName"
value="addCustomersUIModel.Create"/>
</action>

Copyright © 2004, Oracle. Todos los derechos reservados.


Adición de Métodos a Páginas de Datos

Arrastre y suelte métodos desde


Data Control Palette para agregar
métodos a una página de datos:

Create

setCurrentRowWithKey

Delete

Copyright © 2004, Oracle. Todos los derechos reservados.


Navegación en Páginas de Datos
• La etiqueta HTML Form se ejecuta a sí misma por
defecto.
• Cambie la acción a la página que recibe los datos de
pantalla.
• Utilice Property Inspector para cambiar el valor de
“action”.

Seleccione la acción o
página de datos que recibe
los datos de pantalla.

Copyright © 2004, Oracle. Todos los derechos reservados.


Ciclo de Vida de Acciones de Datos
1. Inicializar el contexto

Obtener solicitud HTTP Obtener información de enlace

2. Crear lista de eventos 8. Llamar a métodos personalizados

3. Comprobar los enlaces de modelos 9. Refrescar controles de enlace

4. Comprobar si se permiten 10. Distribuir para reenviar


actualizaciones

5. Procesar actualizaciones

6. Validar actualizaciones

7. Manejar eventos de interfaz de usuario y


modelos

Copyright © 2004, Oracle. Todos los derechos reservados.


Ciclo de Vida de Acciones de Datos
1. Inicializar el contexto

Obtener solicitud HTTP Obtener información de enlace

2. Crear lista de eventos 8. Llamar a métodos personalizados

3. Comprobar los enlaces de modelos 9. Refrescar controles de enlace

4. Comprobar si se permiten 10. Distribuir para reenviar


actualizaciones

5. Procesar actualizaciones

6. Validar actualizaciones

7. Manejar eventos de interfaz de usuario y


modelos

Copyright © 2004, Oracle. Todos los derechos reservados.


Personalización de Acciones de Datos

Los métodos de acción de datos se pueden personalizar


para proporcionar funcionalidad a:
• Una acción de datos que tenga dos posibles reenvíos:
protected ActionForward findForward(…) {
Object s = request.getParameter("Update");
if (s != null) {
return getActionMapping().findForward("success");
} else
return getActionMapping().findForward("browse"); }

• Cualquier funcionalidad personalizada:


Protected void invokeCustomMethod(DataActionContext ac) {

}

Copyright © 2004, Oracle. Todos los derechos reservados.


Eventos de Acciones de Datos

La operaciones incorporadas se enumeran en el archivo


UIModel.xml:
• Definidas mediante:
–Arrastrando la operación desde Data Control Palette
–Creación explícita en el panel Structure
• Llamadas mediante:
–Botón con el nombre “event_<operation>”,
por ejemplo, event_Commit.
–Enlace de hipertexto con un parámetro
“event=< operation>”,
por ejemplo, event=Commit.

Copyright © 2004, Oracle. Todos los derechos reservados.


Eventos de Acciones de Datos

Uso de eventos incorporados, puede definir sus propias


operaciones:
• Definidas mediante:
– Codificación de un método on<CustEvent>() en la
acción de datos
• Llamadas mediante:
– Botón con el nombre “event_< CustEvent >”,
por ejemplo, event_ Help.
– Botón con el nombre “event” y el valor <CustEvent>,
por ejemplo, name=“event” value=“Help”.
– Enlace de hipertexto con un parámetro
event=< operation>, por ejemplo, event=Commit.

Copyright © 2004, Oracle. Todos los derechos reservados.


Ejemplo de on<Event>: Eventos Incorporados

Ampliación de un evento incorporado denominado

?event=commit

public void onCommit(DataActionContext ctx)


{
HttpSession session = ctx.getHttpServletRequest().getSession();
Boolean loggedOn = (Boolean)session.getAttribute("AUTHFLAG");
if (loggedOn.booleanValue())
{
ctx.getEventActionBinding().doIt();
}
}

Copyright © 2004, Oracle. Todos los derechos reservados.


Ejemplo de on<Event>: Eventos Personalizados

Llamada a una operación personalizada

event=foo

public void onFoo(DataActionContext ctx)


{
// just direct the flow to the "foo" forward
ctx.setActionForward("foo");
}

Copyright © 2004, Oracle. Todos los derechos reservados.


Reenvíos y Eventos en Aplicaciones ADF

Asigne el mismo nombre a los


componentes de reenvío relacionados
que a los botones de ejecución para
enviar primero a la página y luego al
destino de reenvío.

addCustomers.jsp:

<html:form action="/addCustomers.do">

<input name="event_Add" type="submit"
value="Submit"/>

Copyright © 2004, Oracle. Todos los derechos reservados.


Resumen

En esta lección ha aprendido a:


• Crear páginas de datos asignadas a servicios de
negocio
• Crear aplicaciones Web que utilicen páginas de datos
• Personalizar acciones de datos y páginas de datos
para mejorar el comportamiento de una aplicación

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1: Visión General

Esta práctica cubre los siguientes temas:


• Creación de acciones de datos
• Adición de métodos a acciones de datos

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Práctica 12-1

Copyright © 2004, Oracle. Todos los derechos reservados.


Copyright © 2004, Oracle. Todos los derechos reservados.