Oracle Designer 6i Intégration d’une applet Java 2 Date de création : Dernière modif : Document : Créé par : 28.02.2001 15.04.2017 840899888 Daucourt Philippe Table des matières 1 2 Introduction ....................................................................................................................................... 3 Package « APPLETS » .................................................................................................................... 3 2.1 Le type de données « APPLET ».............................................................................................. 3 2.2 La fonction « SHOWAPPLETINUSERTEXT » ......................................................................... 3 2.3 La fonction « GETTAGSFORAPPLET » ................................................................................... 3 2.4 La fonction « GETTAGSFORPARAMFOROBJECT » .............................................................. 4 2.5 La fonction « GETTAGSFORPARAMFOREMBED » ............................................................... 4 2.6 Code HTML généré pour une applet avec paramètres ............................................................ 5 3 Utilisation du package « APPLETS » ............................................................................................... 6 4 Paramétrage d’OAS (Oracle Application Server) ............................................................................. 8 5 Exemple de résultat.......................................................................................................................... 9 840899888 15/04/17 Page 2 sur 9 1 Introduction Ce document explique comment intégrer une applet Java 2 dans une page Web générée avec Designer 6i. La lecture des documents « Gestion de la sécurité pour les applets » et « Java Plug-in » est souhaitable pour la bonne compréhension du présent document. 2 Package « APPLETS » Le package « APPLETS » est un package générique que j’ai développé. Ce package permet d’utiliser une applet Java 2 dans un composant de module grâce aux « USER TEXT ». Le package « APPLETS » est composé de cinq éléments : 2.1 un type de données quatre fonctions -> -> -> -> -> APPLET SHOWAPPLETINUSERTEXT GETTAGSFORAPPLET GETTAGSFORPARAMFOROBJECT GETTAGSFORPARAMFOREMBED Le type de données « APPLET » « APPLET » est un type de données privé qui permet de définir les attributs d’une applet Java. CODE CODEBASE WIDTH HEIGHT PARAMETERS 2.2 Nom du fichier .class contenant l’applet Java Chemin d’accès au fichier référencé par l’attribut CODE Largeur de la zone d’affichage attribuée à l’applet Hauteur de la zone d’affichage attribuée à l’applet Paramètres de l’applet (syntaxe expliquée au point 2.4) La fonction « SHOWAPPLETINUSERTEXT » « SHOWAPPLETINUSERTEXT » est une fonction publique qui, appelée depuis le « USER TEXT » d’un composant de module, incorpore dans le formulaire généré une applet Java 2 dont les caractéristiques sont passées en paramètres. function SHOWAPPLETINUSERTEXT (code IN varchar2, codebase IN varchar2, width IN integer, height IN integer parameters IN VARCHAR2 := 'NULL') return varchar2 2.3 La fonction « GETTAGSFORAPPLET » « GETTAGSFORAPPLET » est une fonction privée qui génère toutes les balises nécessaires à l’affichage de l’applet spécifiée en paramètre. Le résultat de la fonction est retourné au programme appelant sous la forme d’une chaîne de caractères. function GETTAGSFORAPPLET(myapplet IN applets.applet) return varchar2 840899888 15/04/17 Page 3 sur 9 Les balises générées permettent le chargement d’une applet Java 2 avec les navigateurs Microsoft Internet Explorer et Netscape Navigator et reposent sur la technologie du Java Plug-in de Sun (voir le document relatif au Java Plug-in). Exemple de code généré : <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="500" height="150" codebase="http://java.sun.com/products/plugin/1.3/jinstall-13win32.cab#Version=1,3,0,0"> <PARAM NAME="code" VALUE="CarteMagnetique.class"> <PARAM NAME="codebase" VALUE="/applet/"> <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3"> <COMMENT> <EMBED type="application/x-java-applet;version=1.3" width="500" height="150" code="CarteMagnetique.class" codebase="/applet/" pluginspage="http://java.sun.com/products/plugin/1.3/plugininstall.html"> <NOEMBED> </COMMENT> No Java 2 SDK, Standard Edition v 1.3 support for APPLET!! </NOEMBED> </EMBED> </OBJECT> 2.4 La fonction « GETTAGSFORPARAMFOROBJECT » « GETTAGSFORPARAMFOROBJECT » est une fonction privée qui génère le code HTML pour les paramètres de l’applet (balise <OBJECT>). Le résultat de la fonction est retourné au programme appelant sous la forme d’une chaîne de caractères. function GETTAGSFORPARAMFOROBJECT(parameters IN varchar2) return varchar2 Le paramètre « parameters » est une chaîne de caractères conforme au protocole suivant : nom_param_1=valeur_param_1|nom_param_n=valeur_param_n Exemple de code généré (NOM=Daucourt|PRENOM=Philippe|AGE=25) <PARAM NAME="NOM" VALUE="Daucourt"> <PARAM NAME="PRENOM" VALUE="Philippe"> <PARAM NAME="AGE" VALUE="25"> « GETTAGSFORPARAMFOROBJECT » est appelée par la fonction « GETTAGSFORAPPLET ». 2.5 La fonction « GETTAGSFORPARAMFOREMBED » « GETTAGSFORPARAMFOREMBED» est une fonction privée qui génère le code HTML pour les paramètres de l’applet (balise <EMBED>). Le résultat de la fonction est retourné au programme appelant sous la forme d’une chaîne de caractères. function GETTAGSFORPARAMFOREMBED(parameters IN varchar2) return varchar2 840899888 15/04/17 Page 4 sur 9 Le paramètre « parameters » est une chaîne de caractères conforme au protocole suivant : nom_param_1=valeur_param_1|nom_param_n=valeur_param_n Exemple de code généré (NOM=Daucourt|PRENOM=Philippe|AGE=25) NOM="Daucourt" PRENOM="Philippe" AGE="25" « GETTAGSFORPARAMFOREMBED » est appelée par la fonction « GETTAGSFORAPPLET ». 2.6 Code HTML généré pour une applet avec paramètres Le code ci-dessous fonctionne avec Netscape (4 et 6) et avec Internet Explorer (4 et 5). Les paramètres de l’applet sont en gras. <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="240" height="130" codebase="http://java.sun.com/products/plugin/1.3/jinstall-13win32.cab#Version=1,3,0,0"> <PARAM NAME="code" VALUE="AppletEtiquette36x89.class"> <PARAM NAME="codebase" VALUE="/applets"> <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3"> <PARAM NAME="LIGNE01" VALUE="Daucourt"> <PARAM NAME="LIGNE02" VALUE="Philippe"> <PARAM NAME="LIGNE03" VALUE="Informaticien de gestion ES"> <PARAM NAME="LIGNE04" VALUE=""> <PARAM NAME="LIGNE05" VALUE=""> <PARAM NAME="LIGNE06" VALUE=""> <PARAM NAME="LIGNE07" VALUE=""> <PARAM NAME="LIGNE08" VALUE=""> <COMMENT> <EMBED type="application/x-java-applet;version=1.3" width="240" height="130" code="AppletEtiquette36x89.class" codebase="/applets" pluginspage="http://java.sun.com/products/plugin/1.3/plugininstall.html" LIGNE01="Daucourt" LIGNE02="Philippe" LIGNE03="Informaticien de gestion ES" LIGNE04="" LIGNE05="" LIGNE06="" LIGNE07="" LIGNE08=""> <NOEMBED> </COMMENT> No Java 2 SDK, Standard Edition v 1.3 support for APPLET!! </NOEMBED> </EMBED> </OBJECT> 840899888 15/04/17 Page 5 sur 9 3 Utilisation du package « APPLETS » L’appel de la fonction « SHOWAPPLETINUSERTEXT » se fait depuis le « USER TEXT » composant de module. d’un Un exemple avec un composant de module s’appelant « PERSONNES » : applets.showappletinusertext('AppletImprimeur.class', '/applets/', 300, 120, 'NOM=' || FORM_VAL.PER_NOM || '|PRENOM=' || FORM_VAL.PER_PRENOM || '|PROFESSION=' || FORM_VAL.PER_PROFESSION || '|AGE=' || FORM_VAL.PER_AGE) Remarque : Dans l’exemple ci-dessus le paramètre « parameters » de la fonction SHOWAPPLETINUSERTEXT est constitué par la concaténation des champs d’un formulaire de la page HTML générée par Designer. Avant de pouvoir générer l’application, il faut encore spécifier le nom des packages personnalisés qui sont utilisés dans le module. Cette opération s’effectue au travers de l’éditeur de préférences de génération (« Generator Preferences») du module en question. 840899888 15/04/17 Page 6 sur 9 Un exemple avec un module s’appelant « PER» : Spécification des packages utilisés dans le module 840899888 15/04/17 Page 7 sur 9 4 Paramétrage d’OAS (Oracle Application Server) Les fichiers .class sont stockés sur le serveur Web et non pas dans la base de données. Le principe est le même que pour les photos du Repuis. Un répertoire « applets » a donc été créé dans le répertoire de base du serveur web (c:\ows\). Un répertoire virtuel « applets » a également été ajouté dans la configuration des répertoires du listener HTTP pour le service « www ». 840899888 15/04/17 Page 8 sur 9 5 Exemple de résultat L’applet ci-dessous permet d’imprimer les informations qui se trouvent dans le cadre noir. 840899888 15/04/17 Page 9 sur 9