Création du formulaire HTML

You can use HCL Web Content Manager design components to generate the HTML forms for the user interfaces that provide the user interactions.

Pourquoi et quand exécuter cette tâche

Pour générer le marquage de formulaire HTML à l'aide des composants de conception HCL Digital Data Connector (DDC) for HCL Portal, effectuez les tâches suivantes :

Procédure

  1. Définissez l'attribut method de formulaire sur la valeur post.
  2. Définissez l'attribut enctype de formulaire sur la valeur multipart/form-data.
  3. Définissez l'attribut action de formulaire sur une URL d'action de portlet qui traite l'afficheur de contenu Web et déclenche sonaction de portlet post.
  4. Ajoutez une zone d'entrée masquée avec le nom _charset_ comme première zone d'entrée au formulaire. Cette zone d'entrée définit le jeu de caractères que le navigateur utilise pour coder les données du formulaire. Initialisez-la avec le codage de caractères de la page.
    Pour ce faire, utilisez le code HTML suivant :
    <input type="hidden" name="_charset_" 
           value="[Plugin:EvaluateEL 
           value="${pageContext.response.characterEncoding}" 
           compute="once"]"/>
  5. Pour indiquer l'URI cible pour l'interaction, utilisez une deuxième zone d'entrée masquée appelée action.uri. L'URI cible identifie le destinataire des données postées par ce formulaire, qui doit être un collecteur de données.
    Pour ce faire, utilisez le code HTML suivant :
    <input type="hidden" name="action.uri" value="..."/>
  6. Ajoutez d'autres zones d'entrée masquées ou visibles au formulaire. Utilisez ces zones d'entrée pour assembler toutes les informations nécessaires pour le destinataire de cette opération de publication de formulaire. Vous pouvez utiliser le paramètre action.uri pour spécifier le destinataire de cette opération de publication de formulaire.
    Exemple : pour déclencher la création d'une réponse à un sujet de forum, procédez comme suit :
    1. Définissez les zones d'entrée de texte permettant de collecter le titre et le corps des informations à partir de l'utilisateur.
    2. Ajoutez des zones d'entrée masquées supplémentaires en vue d'identifier la rubrique de forum cible.
      Ces zones d'entrée sont généralement remplies à l'aide d'une balise [AttributeResource] correspondante.

Résultats

L'URI cible doit identifier un collecteur de données acceptant des demandes de données multiparties. Vous pouvez utiliser des collecteurs de données ayant les types suivants :
  • Vous pouvez utiliser un collecteur de données fourni par HCL Digital Experience Portal
  • Vous pouvez utiliser une implémentation personnalisée de l'interface com.ibm.portal.resolver.data.FormDataDataSink. Cette interface est définie dans l'API de la structure de résolution POC publique. For more detailed information, refer to the Package com.ibm.portal.resolver.data summary.
Voici un exemple de formulaire HTML utilisé pour envoyer des données au portlet Afficheur de contenu Web :
<form method="post" enctype="multipart/form-data" 
      action="[Plugin:ActionURL action="post" copyCurrentParams="true" 
      param="resultSessionAttribute=myResult" compute="always"]">
     <input type="hidden" name="_charset_" value="[Plugin:EvaluateEL 
            value="${pageContext.response.characterEncoding}" compute="once"]"/>
     <input type="hidden" name="action.uri" value="$DATA_SINK_URI"/>
     <input type="hidden" name="myAction" value="createComment"/>
     <input type="hidden" name="myResourceId" 
            value="[AttributeResource attributename="id"]"/>
     My Text: <input type="text" name="myTextField"/><br/>
     <input type="submit" value="Submit"/>
</form>
Remplacez la variable $DATA_SINK_URI par la valeur appropriée pour votre environnement.