Requête sur les données envoyées

L’étape suivante consiste à interroger les données envoyées et à afficher les résultats sous forme de tableau. Pour ce faire, nous utiliserons les logiciels suivants :

QueryBuilder : composant d’interface utilisateur pour créer des requêtes.

Tableaux de données : pour afficher les résultats de la requête sous forme de tableau.

L’interface utilisateur suivante a été créée pour permettre l’interrogation des données envoyées. Seuls les éléments marqués comme requis dans le schéma JSON sont disponibles pour la requête sur . Dans la capture d'écran ci-dessous, nous demandons que toutes les soumissions pour lesquelles le deliverypref est un SMS soient envoyées.

L’exemple d’interface utilisateur pour interroger les données envoyées n’utilise pas toutes les fonctionnalités avancées disponibles dans QueryBuilder. Nous vous encourageons à les essayer vous-même.

querybuilder

REMARQUE

La version actuelle de ce tutoriel ne prend pas en charge l’interrogation de plusieurs colonnes.

Lorsque vous sélectionnez un formulaire pour effectuer votre requête, un appel de GET est effectué à /bin/getdatakeysfromschema. Cet appel de GET renvoie les champs obligatoires associés au schéma des formulaires. Les champs obligatoires sont ensuite renseignés dans la liste déroulante de QueryBuilder pour que vous puissiez créer la requête.

Le fragment de code suivant effectue un appel à la méthode getRequiredColumnsFromSchema du service JSONSchemaOperations. Nous transmettons les propriétés et les éléments requis du schéma à cet appel de méthode. Le tableau renvoyé par cet appel de fonction est ensuite utilisé pour remplir la liste déroulante Query Builder

public JSONArray getData(String formName) throws SQLException, IOException {

  org.json.JSONArray arrayOfDataKeys = new org.json.JSONArray();
  JSONObject jsonSchema = jsonSchemaOperations.getJSONSchemaFromDataBase(formName);
  Map<String, String> refKeys = new HashMap<String, String>();

  try {
   JSONObject properties = jsonSchema.getJSONObject("properties");
   JSONArray requiredFields = jsonSchema.has("required") ? jsonSchema.getJSONArray("required") : null;
   jsonSchemaOperations.getRequiredColumnsFromSchema(properties, arrayOfDataKeys, "", jsonSchema, refKeys,
     requiredFields);
  } catch (JSONException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return arrayOfDataKeys;

 }

Lorsque l’utilisateur clique sur le bouton GetResult, un appel Get est effectué à "/bin/querydata". Nous transmettons la requête créée par l’interface utilisateur de QueryBuilder au servlet via le paramètre de requête . Le servlet convertit ensuite cette requête en requête SQL qui peut être utilisée pour interroger la base de données. Par exemple, si vous recherchez tous les produits nommés "Souris", la chaîne de requête de Query Builder sera $.productname = "Souris". Cette requête sera ensuite convertie en :

SELECT * depuis aemformswithjson . formenvois où JSON_EXTRACT( formsubmission .formdata,"$.productName ")= 'Souris'

Le résultat de cette requête est alors renvoyé pour renseigner le tableau dans l’interface utilisateur.

Pour que cet exemple s’exécute sur votre système local, procédez comme suit :

  1. Assurez-vous d’avoir suivi toutes les étapes mentionnées ici
  2. Importez le tableau de bord v2.zip à l’aide d’AEM Gestionnaire de modules. Ce package contient tous les lots nécessaires, les paramètres de configuration, l’envoi personnalisé et des exemples de page pour interroger les données.
  3. Création d’un formulaire adaptatif à l’aide de l’exemple de schéma json
  4. Configuration du formulaire adaptatif pour l’envoi d’une action d’envoi personnalisée "customsubmithelpx"
  5. Remplissez le formulaire et envoyez-le.
  6. Pointez votre navigateur sur dashboard.html
  7. Sélectionnez le formulaire et effectuez une requête simple.

Sur cette page