• Post Reply Bookmark Topic Watch Topic
  • New Topic

Design sugession needed

 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I need to develop one JSP that may contain 100+ drop down boxes and 50% of them would have 1000+ records. So definitely it would take long time to load if I load everything at one time and why to load everything, as user is not gonna work on everything at a time. The alternative is to show(not load) 30 drop down boxes and just one value (from DB if one is saved). Now when user clicks on drop down then I will bring all associated values. I will also keep one Next button which will load next 30 combo boxes and so on.

Any suggestion?
 
Gerardo Tasistro
Ranch Hand
Posts: 362
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
AJAX, look at DWR remoting
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 65520
105
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
DWR, in my opinion, is a bit heavy-weight to adopt just for this purpose.

I would back up a step and question whether dropdowns with 100's of entries are usable and come up with alternate means of letting the users choose values.
 
David Newton
Author
Rancher
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Definitely Ajax; DWR serves a different purpose IMO.

But what Bear said: I just don't see how a page like that would be even remotely usable.
 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I will try to give insight into that page.
That page would have

  • BusinessType (Kind of business the company does)
  • Customer List (List of customers who offer that kind of business ) - Drop Down
  • Customer Contact (List of contact person for this customer depends of customer selection) - Drop Down again
  • and some other information again one to one per business type.


  • So the data/page would look like

    Bear wrote:I would back up a step and question whether dropdowns with 100's of entries are usable and come up with alternate means of letting the users choose values.

    There might be hundreds of companies who offer Bonding Agent(It's industry term and hard to explain. sorry!) business so that's why customer drop down may contains thousand of entries. But the customer contact would not be more than 10 generally.
    And one good news is we are already using Spring MVC + DWR. Spring gives good integration with DWR.
     
    Gerardo Tasistro
    Ranch Hand
    Posts: 362
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I've found DWR to be easy to implement, works well with Spring and takes a lot of the trouble of dealing with JavaScript at the request level. Having that solved and an easy way to go from JavaScript client side to Java server side you can then easily redesign the JSP to have more flexibility by means of autocompletes and changing things like select items and table contents. This in turn would facilitate a cleaner more compact implementation that doesn't require you to have 100s of combos. Because there's no way all of them are modified at the same time.
     
    Vikas Kapoor
    Ranch Hand
    Posts: 1374
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Is my design convincible?
     
    Gerardo Tasistro
    Ranch Hand
    Posts: 362
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I'd start with a filled BusinessType and have the user select one first. Based on this choice I'd populate Customers. Based on the Customer choice I'd populate CustomerContact. So far it's only taken 3 selects. The rest could be done by creating elements on the fly using JavaScript or having hidden divs which are shown when appropriate depending on CustomerContact choice.
     
    • Post Reply Bookmark Topic Watch Topic
    • New Topic
    Boost this thread!