09. september 2008 - 20:32Der er
14 kommentarer og 1 løsning
Html komponenter onchange JSP - Servlet - Model - DB
Jeg sidder lige og studser over hvordan det er smartest at opbygge en Jsp side, hvis man nu forestiller sig at der er 2 comboboxe hvor man i den første vælger en gruppe dernæst skal den anden combobox med undergrupper vises, samt navn og beskrivelse af gruppen..
Jeg prøvet at opbygge det på følgende måde således at man fra siden får tilgang til grupperne i den ene comboxbox, dette gøres ved at kalde action getGroups som sætter request session objektet groups med en = List<Group> groups = new ArrayList<Group>(); Et Group objekt indeholder SubGroups objekter, så man burde ikke få brug for mere data, men hvordan skal det kombineres sådan at man html komponenterne automatisk tilpasser sig data?
Ved slet ikke om det er en optimal løsning, eller skal der mon AJAX til? Har også tænkt på at opbygge en Servlet AJAX controller kun til det formål og derved generere XML så man hurtig kan få tilgang via Javascript?
Ok så bliver det vidst nok Ajax.. Men men, nu har jeg lige prøvet at installere AjaxTags den nyeste version 1.4, det virker godt nok med deres eksempel, men kan ikke lave compile selve servleten da den ikke kan finde de mapper som man importerer (org.ajaxtags.helpers.*; import org.ajaxtags.servlets.*;), har endda også lagt dem ind jar filerne ind i java installations mappen hmm... Ved du hvad der går galt..
Nu ved jeg ikke hvordan du builder, men AjaxTags jar filen skal med i classpath for build og den skal ogsaa vaere der runtime (for det sidste kan du smide den i WEB-INF/lib).
Jeg har fået det til at virke kun med version 1.3 desværre, men hvis jeg nu har en combobox hvori alle min grupper skal blive loadet og derved generere en en liste med alle subgroups i en eller anden tabel, listbox..
Når jeg kalder min AjaxServlet så får jeg en liste som her: ---- List<Group> groups = gh.getGroups(req); AjaxXmlBuilder bld = new AjaxXmlBuilder(); bld.addItems( groups, "groupID", "name" ); ---- public class Group { private int groupID; private String name; private String description; private List<SubGroup> subgroups; ---- Istedet for at kalde flere forskellige metoder hvergang for at hente grupperne, subgrupperne, samt navn og beskrivelse, kan jeg ikke bare gøre sådan at jeg bruger selve listen som udgangspunkt, dvs. at når siden loader siden skal grupperne vises i den første combobox, og når jeg har valgt en gruppe, sættes tekstfelter for name, description for gruppen, og en liste med alle subgrupperne bliver vist..
Kan man egentlig med ajaxtags difinere flere end to elementer for et xml dokument/parser, altså istedet for at kun have 2 variabler for et objekt f.eks Car, som indeholder make, model.. men istedet have make, model, motor, width, length osv.. og ser derved parse det igennem til noget HTML
Jeg er endt ud med at lave mine helt egne ajax implementeringer, da der er endt med at blive en gang komplekst snavs ;) Men du har da prikket lidt huld på bylden, så du fortjener da lige de points.. ;) Så smid lige et svar
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.