2010-02-02 4 views
0

J'ai besoin de mettre en œuvre un formulaire Web (JSP, entretoises) comportant des charges de cases à cocher et de champs de texte. Fondamentalement, j'ai un arbre fait de cases à cocher qui doit être extensible (comme l'ajout d'un nouveau noeud). Sur une autre page, les mêmes données sont utilisées mais raffinées. Donc, vous ajoutez encore des nœuds enfants à la structure de données mentionnées à l'aide de zones de texte, etc. Je peux décrire la structure de données en XML: Mais contient environ 100 lignes dans la réalité.Quelle est la meilleure approche pour gérer un formulaire complexe en HTML?

Je trouve 3 approches: 1. Faites un formulaire en ligne en JSP qui réduit l'expérience utilisateur parce que beaucoup de postbacks sont nécessaires (à chaque fois que j'ajouter/modifier/supprimer un nœud, ... subnode) 2. le faire en mode asynchrone. -> charges de javascript pour gérer la structure des données (conservez les données XML dans un div caché et mettez à jour ui) 3. optez pour un RIA comme OpenLaszlo

Que suggérez-vous?

Répondre

0

Si vous connaissez déjà OpenLaszlo, allez-y. Vous allez vous retrouver avec une meilleure expérience utilisateur avec moins de travail.

Vous devez cibler l'interface utilisateur et les performances lors du développement d'une application. Donc, IMO, simple JSP sera ma dernière approche.

0

Vous pouvez envisager le rendu côté client.
Il permet de créer des applications web très sensibles:

  • construire vos pages JSP pour fournir des données JSON, pas de HTML ici

  • utiliser un moteur JavaScript Templating dans le navigateur pour convertir les données dans le côté client HTML . Lorsque l'utilisateur tape ou appuie sur submit, analyser le formulaire en utilisant une technique courante trouvée dans de nombreux frameworks.
    i.e.: l'attribut « name » est le chemin pour définir la valeur dans le JSON
    <input name="employee.name" type="text" ... />

  • Lorsque le formulaire est analysé, republier le JSON à une page JSP qui le liront et faire le travail de back-end.

Vous pouvez utiliser XML au lieu de JSON et XSLT au lieu d'un moteur JS templating, mais si vous ciblez le navigateur Web uniquement, il ajoute une couche supplémentaire de complexité et de la difficulté à analyser le XML.

Questions connexes