Développement d'artefacts d'interface utilisateur
Chaque flux d'écran a besoin d'un point de départ pour son déclenchement. Les composants d'interface utilisateur que vous développez ainsi que leurs fonctions permettent de déclencher et de traiter le flux d'écran. Indépendamment du type de l'artefact d'interface utilisateur que vous développez, il doit envoyer et recevoir des événements JSR-286 pour activer un flux d'écran. Par conséquent, vous devez implémenter ou réutiliser des portlets compatibles avec JSR-286 qui envoient et reçoivent de tels événements.
- Le portlet d'informations passager portlet1 doit pouvoir recevoir un événement avec le nom qualifié e0 et envoyer un événement avec le nom qualifié e1.
- Le portlet de calendrier portlet2 doit pouvoir recevoir un événement avec le nom qualifié e1 et envoyer un événement avec le nom qualifié e2.
Pour permettre au portlet d'informations passager portlet1 de recevoir et d'envoyer les événements mentionnés, vous devez effectuer les deux opérations suivantes :
- Indiquez les événements dans le fichier portlet.xml du portlet.
<portlet id="portlet1">
...
<supported-processing-event>
<qname>e0</qname>
</supported-processing-event>
<supported-publishing-event>
<qname>e1</qname>
</supported-publishing-event>
</portlet>
<event-definition>
<qname>e0</qname>
<value-type>java.lang.String</value-type>
</event-definition>
<event-definition>
<qname>e1</qname>
<value-type>java.lang.String</value-type>
</event-definition>
- Incluez le code dans le portlet capable de gérer un événement entrant et un autre code capable d'envoyer un événement.
@Override
public void processAction(ActionRequest request, ActionResponse response)
throws PortletException, IOException {
// ...
response.setEvent(new QName("e1", "xyz"), new String());
}
@Override
public void processEvent(EventRequest request, EventResponse response)
throws PortletException, IOException {
final Event event = request.getEvent();
// ...
Effectuez des modifications similaires dans le portlet de calendrier portlet 2.
<portlet id="portlet2">
...
<supported-processing-event>
<qname>e1</qname>
</supported-processing-event>
<supported-publishing-event>
<qname>e2</qname>
</supported-publishing-event>
</portlet>
<event-definition>
<qname>e1</qname>
<value-type>java.lang.String</value-type>
</event-definition>
<event-definition>
<qname>e2</qname>
<value-type>java.lang.String</value-type>
</event-definition>
@Override
public void processAction(ActionRequest request, ActionResponse response)
throws PortletException, IOException {
// ...
response.setEvent(new QName("e2", "xyz"), new String());
}
@Override
public void processEvent(EventRequest request, EventResponse response)
throws PortletException, IOException {
final Event event = request.getEvent();
// ...
Si vous souhaitez intégrer des formulaires tels que le formulaire d'informations passager, ou des widgets tels que le calendrier, vous pouvez utiliser une tel portlet comme encapsuleur pour ces artefacts. Pour plus d'informations sur le développement de portlets, reportez-vous à la documentation produit traitant du développement de portlets dans WebSphere® Portal version 8.0.
- Le premier type déclenche une nouvelle instance de boîte de dialogue en envoyant un événement de lancement précis.
- Le deuxième type déclenche une nouvelle boîte de dialogue basée sur le fait qu'un portlet particulier émet un événement personnalisé spécifique.
Avec Screen Flow Manager, différentes équipes et même des fournisseurs tiers peuvent développer différents types d'artefacts d'interface utilisateur (UI). Ces artefacts sont généralement des portlets, mais il peut également s'agir de widgets ou de formulaires. Pour plus de détails, reportez-vous à la documentation sur le développement de iWidgets dans IBM® Rational® Application Developer.