2010-07-04 18 views
1

J'ai développé un logiciel de simulation utilisant Struts 1.3/JSP. J'essaie de trouver un moyen d'afficher la liste des objets sur ma page JSP qui peuvent être ajoutés ou supprimés. J'ai fait une liste d'étapes chimiques, chaque étape a une liste des produits et des espèces réactives (espèces est également un objet java)Maintenance d'une liste d'objets sur une page JSP

C'est la classe étape:

public class ChemicalStep { 
    private List<Species> reactants = new ArrayList<Species>; 
    private List<Species> products = new ArrayList<Species>; 

// Getters and setters etc 

} 

Ceci est la classe des espèces:

public Class Species { 
    private String name; 

    // Getter and setters etc 

} 

est enfin là la partie pertinente du ActionForm:

public class StepForm extends ActionForm{ 
    private List<ChemicalStep> steps = new ArrayList<ChemicalStep>(); 

    // Getters and setters etc 
} 

Je cherche un moyen de montrer dynamiquement les étapes chimiques et d'utiliser une classe d'action pour les ajouter et les retirer de la liste. Ce que je veux, c'est un tableau qui montre les étapes, puis un bouton ajouter, quand on clique dessus, je dois montrer une nouvelle étape avec des boutons pour ajouter/supprimer des objets espèces de chaque liste sur l'objet étape. La JSP doit afficher autant de zones de texte pour les noms que d'espèces dans la liste.

Je sais que c'est un problème à long terme. J'accueillerais volontiers toutes les pensées que tout le monde a à ce sujet!

Répondre

0

Votre problème n'a rien à voir avec les entretoises si vous voulez le faire dynamiquement.

Vous devez explorer une bibliothèque Javascript/Ajax.

Il y en a un gazillion, alors je vous suggère de commencer par jQuery.

+0

Dynamiquement! = Asynchrone. Ceci est parfaitement faisable en utilisant HTML/JSP/Servlet. Malheureusement, je ne peux pas poster une réponse spécifique puisque je ne fais pas de Struts. Voyant le manque d'experts de Struts ici, il ne faut pas s'attendre à une réponse ciblée par Struts assez tôt. – BalusC

+0

Il dit qu'il a besoin d'un bouton "ajouter" qui modifie la page à la volée et ajoute plus de contrôles (une nouvelle "étape"). Est-ce que cela ne nécessite pas Javascript? – kazanaki