Accueil > WebObjects > Applications Web : Développer du contenu dynamique en WebObjects

Applications Web : Développer du contenu dynamique en WebObjects

Par Apple Computer, Inc. © 2002 (Dernière mise à jour 3 Janvier 2002),

Traduit par Thierry, 7/03/2003.

Avoir du contenu dynamique signifie que seules les informations que votre site web ou votre application affiche varient en fonction de certaines conditions. Les sites de news, les catalogues de produits où les articles changent et où les utilisateurs peuvent les accumuler dans des caddies, les sondages et les statistiques en ligne sont autant d’exemples de contenus dynamiques.

Avec WebObjects, vous pouvez générer du contenu dynamique de plusieurs façons. Vous pouvez utiliser la logique de programmation à laquelle vous êtes habitués pour déterminer quelle image afficher ou quelle information présenter ; vous pouvez définir des descripteurs qui seront remplis à partir d’une base de données ; vous pourriez même permettre à l’utilisateur de saisir des données à afficher.

Dans ce chapitre, vous ajoutez des éléments à un composant web et apprenez comment les connecter au code Java que vous écrivez. Vous apprenez aussi de manière générale comment les parties d’un composant web (code HTML, éléments WebObjects, sources Java et fichiers de déclarations WebObjects) sont associés les uns aux autres. Le chapitre introduit aussi à la boucle requête-réponse, qui représente le mécanisme utilisé par l’environement d’exécution de WebObjects pour interagir avec les utilisateurs de votre application.

Dans ce chapitre, vous allez :

  • apprendre à utiliser la barre d’outils de WebObjects Builder et le WebObjects Builder Inspector,
  • utiliser WebObjects Builder pour relier des WOElements à du code Java,
  • utiliser des méthodes pour fournir des données dynamiques dans une page web,
  • apprendre les bases du cycle requête-réponse,
  • personnaliser le composant Main, le point d’entrée par défaut d’une application.

La barre d’outils de WebObjects Builder

Figure 4-1 montre la barre d’outils de WebObjects Builder, et la liste suivante identifie les contrôles de cette barre. La légende reprend les bulles d’aide qui apparaissent dans l’application pour chacun des contrôles, et ces phrases sont utilisées pour référencer les contrôles dans ce document. Par exemple, le contrôle 24 représente le bouton “Add WOForm”.

Figure 4-1 La barre d’outils de WebObjects Builder
[image: webobjects_images/wobtoolbar.gif]

  1. Bascule entre le mode prévisualisation, mise en forme et source.
  2. Montre l’Inspecteur.
  3. Montre la Palette.
  4. Gras.
  5. Italique.
  6. Sous-ligné.
  7. Machine à écrire (police non-proportionnelle).
  8. Change la Taille de la Police.
  9. Change l’Alignement du texte.
  10. Change le Style de la Police.
  11. Ajoute un Paragraphe.
  12. Ajoute une En-tête.
  13. Ajoute une Liste non-Ordonnée.
  14. Ajoute une Liste Ordonnée.
  15. Ajoute une Ligne Horizontale.
  16. Ajoute une Image.
  17. Ajoute un Lien.
  18. Ajoute une Ancre.
  19. Ajoute un Tableau.
  20. Ajoute un Marqueur Personnalisable.
  21. Montre les Avertissements de Validation.
  22. Montre l’Editeur d’API.
  23. Change la Couleur du Texte.
  24. Ajoute un WOForm.
  25. Ajoute un WOTextField.
  26. Ajoute un WOText.
  27. Ajoute un WOSubmitButton.
  28. Ajoute un WOResetButton.
  29. Ajoute un WOImageButton.
  30. Ajoute un WOCheckBox.
  31. Ajoute un WORadioButton.
  32. Ajoute un WOBrowser.
  33. Ajoute un WOPopUpButton.
  34. Ajoute un WOString.
  35. Ajoute un WOHyperlink.
  36. Ajoute un WORepetition.
  37. Ajoute un WOConditional.
  38. Ajoute un WOImage.
  39. Ajoute un WOActiveImage.
  40. Ajoute un WOGenericContainer.
  41. Ajoute un WOComponentContent.
  42. Ajoute un WOApplet.
  43. Ajoute un Custom WebObject.

Classes et Composants Web

Toute page web affichée dans un navigateur Web est un composant Web d’une application. Un composant Web est constitué de plusieurs parties :

  • Fichier HTML Cette portion du composant est essentiellement du code HTML standard. Un composant est soit une page HTML complète, avec les balises <HTML> et </HTML>, ou un segment plus court de code HTML qui peut être inséré en ligne dans d’autres composants.En plus des éléments et du texte HTML classique, un composant Web peut contenir des éléments spéciaux utilisés par WebObjects, des éléments WEBOBJECT. Les navigateurs Web ne voyent jamais ces éléments parce que l’environnement d’exécution de WebObjects remplace les éléments WEBOBJECT par du code HTML classique avant d’envoyer les pages vers le client.
  • Fichier WOD Il représente la glue entre votre fichier HTML et votre code Java. Tous les éléments WebObjects utilisés dans un composant a une entrée dans ce fichier spécifiant ses paramètres, tels que les méthodes Java à appeler pour les données. WOD veut dire WebObjects Declaration.
  • Fichier WOO Contient des informations relatives aux “display groups”, des composants Web spéciaux utilisés pour afficher les informations d’une base de données. WOO veut dire WebObjects Object.
  • Fichier source Java Tous les composants sont caractérisés par un fichier source Java définissant une classe qui hérite de la classe WOComponent (com.webobjects.appserver), classe qui fournit la fonctionnalité basique qu’un composant Web requiert. Pour personnaliser ce comportement, vous pouvez ajouter vos propres variables et votre propre logique à ce fichier.
  • Fichier API Si vous concevez des composants Web recyclables, vous pouvez vous appuyer sur certaines informations présentes dans leurs portions Java. Le fichier API liste les paramètres des composants Web personnalisés.

Le groupe des “Web Components”—situé dans la liste des fichiers de la fenêtre principale de Project Builder—liste tous les composants Web d’un projet. Chaque élément est lui-même un sous-groupe. De tels groupes contiennent des fichiers source Java, des fichiers API et des descripteurs de composants Web (ou bundles .wo). Ces descripteurs comprennent les fichiers HTML, WOD et WOO d’un composant Web. En plus, chaque groupe de composants contient une référence de dossier à un descripteur de composant Web. Par exemple, dans le groupe de composants Web d’un projet d’application WebObjects, vous trouvez un sous-groupe appelé Main. Dans le groupe Main, vous trouvez Main.wo, Main.api. et Main.java. Dans Main.wo sont placés Main.html, Main.wod, et Main.woo.

Note: Vous ne devriez pas éditer directement les fichiers situés dans les descripteurs de composant Web. Utilisez plutôt WebObjects Builder.

Le Composant Main

Par défaut, toutes les applications WebObjects comprennent un composant Main. Ce composant, initialement vide, est la première page affichée à l’utilisateur jusqu’à ce que vous fassiez autrement. Il peut être utilisé comme page de connexion à votre application.

Dans cette section, vous allez jouter un calcul de date nommé currentTime au fichier source Java du composant, ajouter un WOElement à la page et relier l’attribut value du WOElement à currentTime.

Ajout de Méthodes

D’abord, ajoutez une méthode dans la classe Main. La méthode retourne simplement l’heure lorsqu’elle est invoquée.

  1. Créez un projet application WebObjects et nommez le TimeDisplay.Pour savoir comment créer un projet, reportez-vous à “Votre premier projet WebObjects”.
  2. Sélectionnez Main.java dans la liste des fichiers de la fenêtre principale de Project Builder

    [image: webobjects_images/pbtimedisplaymainjava.gif]

  3. Ajoutez la méthode suivante à Main.java. C’est une méthode public qui retourne l’heure en utilisant la classe NSTimestamp (com.webobjects.foundation).
    /**
     * Creates an NSTimestamp object with the current
     * date and time.
     * @return current date and time.
     */
    public NSTimestamp currentTime() {
        return new NSTimestamp();  
    }

    Remarquez que la classe Main hérite de WOComponent. La classe WOComponent (com.webobjects.foundation) définit des douzaines de méthodes qui implémentent le comportement d’une application Web. Plusieurs de ces méthodes sont présentées dans la suite de ce document.

  4. Sauvegardez Main.java.

Ajout d’un WOString

Pour afficher un texte dynamique, vous ajoutez un élément WebObjects au composant Main. Cet élément est un WOString, qui est utilisé pour afficher des chaînes de données dynamiques dans une page. De telles chaînes peuvent être la sortie d’une méthode qui retourne un objet String ou un autre objet qui peut être converti en un objet String.

  1. Ouvrez le descripteur du composant Main avec WebObjects Builder en double-cliquant sur Main.wo dans le groupe Main du groupe Web Components de la liste des fichiers située dans la fenêtre principale de Project Builder.
  2. Ajoutez du texte et un WOString.Saisissez L’heure actuelle est dans l’éditeur de contenu de la fenêtre principale de WebObjects Builder.

    Le curseur étant placé à la fin du texte que vous venez de taper, pressez la barre d’espace et cliquez sur le bouton Ajoute un WOString de la barre d’outils.

    [image: webobjects_images/wobtimedisplaytext.gif]

  3. Ouvrez l’Inspecteur de Lien WOString.Sélectionnez l’élément WOString et cliquez sur le bouton Montre l’Inspecteur de la barre d’outils. L’Inspecteur de Lien WOString apparaît. (Si l’Inspecteur apparaît, mais ne ressemble pas à l’illustration ci-dessous, cliquez sur l’élément WOString que vous venez d’insérer).

    Figure 4-2 Inspecteur de Lien WOString
    [image: webobjects_images/dynamicwostringinspector.gif]

    L’Inspecteur affiche des informations à propos de l’élément qui est en cours de sélection, dans ce cas, les attributs de l’élément WOString. Ils peuvent soit être réglés sur des valeurs statiques, soit sur des variables d’instance, soit sur des méthodes de votre code qui fournit une valeur au moment de l’exécution.

    Notez que l’attribut value est affiché en rouge. Cela veut dire que cette liaison est requises. Dans ce cas, la liaison de l’attribut value produit le texte que le WOString affiche, et les autres attributs affectent la manière dont est affiché la chaîne ou détermine ce qui doit être affiché lorsque l’attribut value est évalué à null ou à une chaîne vide. Vous utilisez ce WOString pour afficher la date en cours.

  4. Reliez l’attribut value du WOString à la méthode currentTime.Remarquez que le nom de la méthode currentTime que vous avez insérez dans Main.java est listé dans la liste Main, dans le coin inférieur gauche de la fenêtre de Main.wo.

    Déposez une connexion à partir de la méthode currentTime vers l’élément WOString situé dans l’éditeur de contenu. Au lieu de relier l’élément WOString à currentTime, vous pourriez le relier à currentTime.toString. Cependant, vous ne pourrez pas tirer profit des fonctions de formattage de données expliquées plus tard.

    [image: webobjects_images/wobtimedisplaydragbind.gif]

    Bien que WOString ait plusieurs attributs, WebObjects Builder suppose que vous voulez relier l’attribut value du fait que c’est celui qui est le plus souvent utilisé dans les WOStrings.

  5. Choisissez un format d’affichage de l’heure.

    [image: webobjects_images/wobtimedisplayformat.gif]

  6. Sauvegardez le descripteur Main.wo.

La méthode currentTime est maintenant reliée au WOString dans le composant. Cette connexion est enregistrée dans le fichier WOD.

Fichiers HTML et WOD

La connexion entre l’élément WOString et la méthode currentTime est déclarée dans le fichier WOD. Vous pouvez examiner les fichiers de code HTML et WOD dans Project Builder, dans le groupe Main.wo.

Dans le fichier HTML, l’élément WEBOBJECT placé après le texte statique représente le lieu où le WOString insère la valeur retournée par la méthode currentTime. C’est un comportement basique ; d’autres éléments WebObjects offrent plus de possibilités, telles que l’affichage conditionnel de contenu ou les répétitions.

<BODY BGCOLOR=#FFFFFF>
    The current time is <WEBOBJECT NAME=String1></WEBOBJECT>
</BODY>

Remarquez que l’élément est defini par <WEBOBJECT NAME=String1></WEBOBJECT>. L’entrée correspondante dans le fichier WOD a le même nom.

String1: WOString {
    dateformat = "%I:%M:%S %p";
    value = currentTime;
}

L’entrée ne comporte qu’une seule liaison, la connexion entre l’attribut value et la méthode currentTime. Cette méthode est appelée lorsque le WOString a besoin d’afficher sa valeur.

Construisez et Lancez l’Application

Maintenant que vous avez personnalisé le composant Main, vous pouvez lancer l’application et observez les résultats.

Dans Project Builder, choisissez Build > Build and Run ou cliquez sur le bouton Build and Run de la barre d’outils.

Une page similaire à celle montrée dans la Figure 4-3 apparaît après que Project Builder ait construit et lancé votre application.

Figure 4-3 La page Main—générée à partir du composant Main

[image: webobjects_images/webtimedisplay.gif]

Génération de la Réponse

Lorsque vous lancez l’application TimeDisplay, la page affichée par votre navigateur Web remplace le WOString que vous avez ajouté au composant Main par l’heure en cours. Si vous rechargez la page, l’heure est mise à jour. WebObjects assemble la page dynamiquement au cours du cycle requête-réponse.

Lorsque vous accédez à l’URL correspondant à votre application dans un navigateur Web, votre server Web prend contrôle du WebObjects adaptor (un traitement qui connecte les instances d’une application WebObjects aux serveurs Web). Ce programme passe par deux étapes afin de générer la réponse qu’il retourne :

  1. Lecture du fichier HTMLComme tout serveur Web classique, WebObjects lit d’abord un fichier HTML.
  2. Rendu des éléments WebObjectsA l’inverse d’un serveur Web classique, WebObjects analyse les éléments WEBOBJECT avant de remettre le fichier au serveur Web.

    Lorsque WebObjects rencontre un élément WEBOBJECT, il consulte le fichier WOD afin d’y trouver le composant Web correspondant. Tous les éléments WEBOBJECT du fichier HTML d’un descripteur de composant Web portent un nom et sont listés dans le fichier WOD.

    Tout type d’élément WebObjects a une logique spéciale de construction du code HTML qu’il retourne au serveur Web. La personnalisation de ce traitement est effectuée avec des attributs définis par le développeur du composant Web. Chaque liaison d’un fichier WOD peut être soit statique ou dynamique. Si une liaison est statique, la valeur fournie est utilisée directement.

    Si une liaison est dynamique—c’est à dire, un attribut est relié à une méthode ou à une variable d’instance—WebObjects invoque la méthode ou accède à la variable d’instance pour obtenir la valeur au moment de l’exécution. Dans l’application TimeDisplay, lorsque le WOString est évalué, il invoque la méthode déclarée dans la liaison de son attribut value, currentTime, pour obtenir la valeur à afficher. L’implémentation de WOString transforme l’objet NSTimestamp en texte qui est incorporé dans la page Web retournée à votre navigateur Web. Avant de retourner la page au navigateur, WebObjects convertit le code HTML du composant montré dans le Listing 4-1 en celui montré dans le Listing 4-2.

    Listing 4-1 Code HTML interprété par WebObjects

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
    <HTML>
        <HEAD>
            <META NAME="generator" CONTENT="WebObjects 5">
            <TITLE>Untitled</TITLE>
        </HEAD>
        <BODY BGCOLOR="#FFFFFF">
            The current time is <WEBOBJECT NAME=String1></WEBOBJECT>
        </BODY>
    </HTML>

    Listing 4-2 Code HTML que WebObjects envoie au navigateur Web

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
    <HTML>
        <HEAD>
            <META NAME="generator" CONTENT="WebObjects 5">
            <TITLE>Untitled</TITLE>
        </HEAD>
        <BODY BGCOLOR="#FFFFFF">
            The current time is 01:19:47 PM
        </BODY>
    </HTML>

Ce traitement prend place chaque fois que votre navigateur Web envoie requiert la page Main. Si vous rechargez la page, la méthode est de nouveau invoquée et une nouvelle heure est affichée.

Pour plus d’informations sur le cycle requête-réponse, reportez-vous à “Traitement de la Requête”.

Conserver l’Etat dans le Composant Web

La compréhension de la connexion entre le fichier HTML d’un composant Web et la logique métier définie dans son fichier source Java est une partie importante du développement en WebObjects. Non seulement vous associez des méthodes à des attributs d’éléments WebObjects pour afficher du contenu dynamique, mais vous pouvez aussi utiliser les méthodes fournies par la classe WOComponent pour conserver l’état d’un composant.

Quand vous ajoutez des méthodes à un composant dans WebObjects Builder, vous modifiez en fait le fichier source Java du composant. Quand vous modifiez l’apparence d’un composant ou ajoutez des éléments d’affichage, vous modifiez son fichier HTML. Un composant Web est une vue de haut niveau à la fois du fichier HTML et de la classe Java qui décrit une page Web ou une partie de page. Après avoir utilisé WebObjects Builder pour définir la majeure partie d’un composant Web, vous pouvez ajouter des détails en éditant le fichier HTML et en modifiant son fichier source Java. Pour éditer le fichier HTML d’un descripteur de composant Web dans WebObjects Builder, utilisez le menu déroulant “Switch preview, layout and source views” (Bascule entre les modes prévisualisation, composition et source).

Lorsque votre application s’exécute, les composants Web sont instanciés au fur et à mesure. Cela veut dire que chaque composant est aussi un objet de votre application. Par exemple, quand l’application TimeDisplay se lance, un objet Main est créé. Au fur et à mesure que le contenu d’un composant est déterminé par WebObjects, des méthodes de la classe Main sont utilisées pour fournir les données de ses éléments dynamiques, dans ce cas, le WOString qui affiche l’heure. Lorsqu’il est temps pour WebObjects d’ajouter le contenu de WOString, il recherche la liaison de l’attribut value de l’élément. Dans le descripteur du composant Main, value est reliée à la méthode currentTime. Par conséquent, WebObjects invoque la méthode currentTime, qui retourne l’heure.

Une instance d’un composant Web vit au moins pendant deux cycles de la boucle requête-réponse : Dans le premier cycle, la page Web est rendue alors que dans le second le composant détermine quelle page à afficher ensuite. Si la page à afficher n’est pas la même, WebObjects crée une instance du nouveau composant. L’ancien composant est alors mis de côté ou stocké dans un cache du serveur pour permettre aux utilisateurs de revenir aux pages précédentes. Cependant, si un composant à afficher est le même, l’instance perdure. Dans ce cas, la version précédente du composant est stockée dans le cache de retour arrière. Pour en savoir plus sur la gestion des retours arrière, reportez-vous à “Retour Arrière et Gestion du Cache”. Vous pouvez utiliser des variables d’instance dans votre fichier source Java du composant pour stocker des informations et garder trace du comportement des utilisateurs lorsqu’ils interagissent avec votre application.

Les sections qui suivent développent l’application TimeDisplay en ajoutant un compteur de pages vues et un lien pour raffraîchir la page.

Dans ce cas, vous ajoutez une variable au composant et au code Main pour l’incrémenter à chaque fois que la page est affichée. Vous utilisez alors cette variable pour monter le nombre de fois que la page a été chargée par un utilisateur spécifique de la session, qui est un objet représentant une conversation entre une application et un client particulier. Il serait aussi approprié d’ajouter un hyperlien qui, une fois cliqué, cause le rafraîchissement du contenu de la page.

Ajout du Compteur de Chargement de la Page

  1. Ouvrez Main.wo dans WebObjects Builder (s’il n’est pas déjà ouvert) en double-cliquant dessus dans Project Builder.
  2. Choisissez Add Key à partir du menu Edit Source situé dans le coin inférieur gauche de la fenêtre de Main.wo.
  3. Ajoutez une clé du type int intitulée loadCount.

    [image: webobjects_images/dynamicaddkey.gif]

  4. Examinez le fichier Main.java dans Project Builder pour confirmer que la variable a été ajoutée.
    public class Main extends WOComponent {
        protected int loadCount = 1;
        ...
    }

Afficher le Compteur de Chargement

Pour afficher le compteur de chargement dans la page Web, vous devez ajouter un autre WOString dans le descripteur du composant Main.

  1. Ajoutez un intitulé et un WOString dans le descripteur.
    1. Saisissez Cette page a été vue sous la ligne qui affiche l’heure.
    2. Ajoutez un espace et un WOString à droite de l’intitulé.
    3. Ajoutez un espace et fois. à droite du WOString.
  2. Reliez la variable loadCount à l’attribut value du second WOString.

[image: webobjects_images/wobtimedisplaycount.gif]

Rafraîchissement de la Page

Maintenant, vous devez ajouter une manière de recharger la page. Dans WebObjects, les hyperliens classiques (éléments WOHyperlink) peuvent appeler des méthodes de composant Web (éthodes définies dans le fichier source Java du composant). Les méthodes d’action sont largement couvertes dans Traitement de la Requête. Pour le moment, vous avez besoin d’ajouter une méthode qui recharge simplement la page en cours.

  1. Ajoutez la méthode d’action.Ouvrez le descripteur du composant Main dans WebObjects Builder et choisissez Add Action dans le menu Edit Source.
    1. Nommez l’action refreshTime.
    2. Sélectionnez null dans le menu “Page returned”.La valeur retournée par une méthode d’action représente la prochaine page (composant Web) à afficher. Quand vous retournez null, la page en cours est redessinée. Dans une autre tache, vous apprendrez comment retourner un composant différent.
    3. Cliquez sur Ajouter.

    [image: webobjects_images/dynamicaddaction.gif]

  2. Ajouter un hyperlien.Positionnez le curseur sous la ligne qui affiche le compteur de chargement.

    Choisissez WebObjects > WOHyperlink, ou cliquez sur le bouton Ajoute un WOHyperlink.

    Par défaut, le texte d’un nouvel hyperlien est Hyperlink. Vous pouvez remplacer ceci en sélectionnant le texte et en tapant quelque chose de plus approprié à la place, tel que Rafraîchir.

  3. Connectez la méthode refreshTime au WOHyperlink.Comme un WOString, un WOHyperlink est doté de plusieurs attributs. Reliez la méthode refreshTime à l’attribut action du WOHyperlink.

    [image: webobjects_images/dynamicbindaction.gif]

    Déplacez la méthode refreshTime à partir de la liste Main vers le WOHyperlink. Quand vous relachez le bouton de la souris, un menu ldes attributs apparaît. Choisissez l’attribut action pour indiquer que vous souhaitez que soit appelée la méthode refreshTime lorsque le lien est cliqué.

  4. Sauvegardez Main.wo.

Augmenter le Compteur de Chargement

Enfin, modifiez la méthode refreshTime de façon à ce qu’elle incrémente la variable loadCount chaque fois qu’elle est invoquée, en fait, chaque fois que le lien Rafraîchir est cliqué.

public WOComponent refreshTime() {
    loadCount++;
    return null;
}

Le Compteur en Action

Construisez et lancez l’application TimeDisplay. Si vous cliquez sur le lien Rafraîchir, l’heure et le nombre de chargement sont mis à jour.

[image: webobjects_images/webtimedisplaycount.gif]

La même instance de la variable compteur est incrémentée à chaque fois que vous utilisez le lien parce que WebObjects crée un objet Main et l’associe à la fenêtre de votre navigateur Web au travers d’un objet Session. Chaque fois que vous interagissez avec l’application, en cliquant sur Rafraîchir, le même objet Main est utilisé. Si vous ouvrez une nouvelle fenêtre de navigateur et vous connectez de nouveau à l’application en utilisant l’URL montrée dans le panneau Run de Project Builder, une instance séparée de Main est créée et associée à cette fenêtre. Dès lors, vous pouvez travailler avec deux fenêtres individuellement. De fait, non seulement une nouvelle instance de Main est créée, mais un nouvel objet Session l’est aussi.

WebObjects détermine qu’une nouvelle session a besoin d’être créée lorsque l’URL à venir ne comporte pas d’identifiant de session (session ID). La première fois que vous vous connectez à l’application en utilissant une URL comme celle du Listing 4-3, WebObjects crée une session et lui assigne un ID et d’autres informations. Ces informations sont ajoutées à l’URL retournée à votre navigateur en même temps que la page Web à afficher (voir Listing 4-4). LOrsque vous envoyez une autre requête à partir de votre navigateur (en cliquant sur Rafraîchir par exemple), WebObjects utilise le session ID encodé dans l’URL pour localiser la session qui doit traiter la requête. Ceci est le mécanisme par défaut que WebObjects utilise pour garder trace du statut de chaque utilisateur. Pour plus d’informations, reportez-vous à “Gestion de l’Etat”.

Listing 4-3 URL provoquant la création d’une instance d’un objet Session

http://foo.com:49361/cgi-bin/WebObjects/TimeDisplay

Listing 4-4 URL avec un session ID

http://foo.com:49361/cgi-bin/WebObjects/TimeDisplay.woa/wo/whcV5sauLNtG8Tfh6xCuvM/0.1

Aller plus loin

Ce chapitre a expliqué comment utiliser quelques outils WebObjects, et comment ajouter des éléments et les relier à du code Java en utilisant WebObjects Builder. Il a aussi montré comment afficher du contenu dynamique basé sur du code Java personnalisé et conserver l’état des données d’une requête à une autre. N’hésitez pas à explorer WebObjects Builder pour en apprendre plus.

Les attributs habituels d’une page Web—titre, couleur de fond, taille de police, et les autres—peuvent être maintenus dans WebObjects Builder. Arrondissez les angles de l’application TimeDisplay en appliquant un titre de page et en personnalisant l’apparence du texte. Gardez à l’esprit que si un WOString est contenu dans une autre balise HTML, le WOString est affecté tout comme le serait un texte ordinaire.

Textes originaux en anglais sur developer.apple.com : WebObjects Web Application - Developing Dynamic Content

Thierry WebObjects , ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire