If it is only countries then you can load it when the application starts up. You have to implement ServletContextListener. You will have a data base call in your class that implements this interface.
A 'prepopulate' action is like any other normal action that does something and forwards to the right view. Mohan -----Original Message----- From: Sandeep Takhar [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 08, 2003 6:15 PM To: Struts Users Mailing List Subject: RE: Populating select boxes dynamically I would store something like this in application context. This is easier in your case since you have one language it seems. PreActions can be created simply by having a BaseAction that everything overrides. The baseAction has a bunch of hooks that can be overridden. One of these is preProcessing(mapping,request,response,form). A good resource is Ted Husted's book (Struts in Action) Someone else may have more details... sandeep --- sriram <[EMAIL PROTECTED]> wrote: > James, > > As explained by you, I have done the following: > > I need list of countries in a drop-down box in .jsp > page. > > I have an EJB that maps to country table in > database. > In that I've a method getAllCountries() that returns > a collection. > In that method, I've used LabelValueBean and storing > labels and values in the collection. > > I'm using a Session Fagade, so this method is called > by a session bean which obtains the collection of > countries. > > Now I would like to know the next step - creating a > "pre" action which obtains this collection and > stores it in 'request'. > I've an action form with getter and setter methods > for 'countryID' (countryID is the name of my > <html:select> in the jsp page). But how to create a > "pre" action? Can you pl. explain? > > Thanks > Sriram > > -----Original Message----- > From: James Childers [mailto:[EMAIL PROTECTED] > Sent: Tuesday, July 01, 2003 6:51 PM > To: Struts Users Mailing List > Subject: RE: Populating select boxes dynamically > > > > -----Original Message----- > > From: sriram [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, July 01, 2003 4:18 AM > > To: '[EMAIL PROTECTED]' > > Subject: Populating select boxes dynamically > > > > I am fairly new to struts. I am using struts 1.0. > I have > > couple of list boxes in my input form which need > to populated > > with data retrieved from the database. > > > > What is the process to be followed? Can somebody > give me > > links to related examples on the net? > > Hi Sriram, > > This is pretty easy. You should read up on the > Struts JavaDocs for LabelValueBean: > > http://jakarta.apache.org/struts/api/org/apache/struts/util/LabelValueBean.h tml > > As well as for the <html:options> tag: > > http://jakarta.apache.org/struts/api/org/apache/struts/taglib/html/OptionsTa g.html > > Since you're using 1.0 I *think* you'll need to grab > the source for that bean and add it to your project, > but you'll want to do this anyway because it is > extremely helpful (and pretty simple insofar as > beans go). > > What you'll do at that point is add the elements > which will be used in your select box in a "pre" > Action, which will add these LabelValueBeans to a > Colletion, which will in turn be added to the > request. > > Clear as mud? Maybe this will help: > > 1) Create a "pre" Action, which will prepare the > data for the JSP which has the select box. > > 2) In this Action, do your database operations and > store each result in a LabelValueBean. It will look > something like this: > List aList = new ArrayList(); > while (rs.next()) { > LabelValueBean lvb = new > LabelValueBean(rs.getString("labelCol"), > rs.getString("valueCol")); > aList.add(lvb); > } > // Now, add it to the request so we can see it in > our JSP > request.setAttribute("yerSelectBox", aList); > > 3) In your JSP, you'll just (hopefully!) need to > reference the List you added to request scope using > the <html:options> tag: > <html:select property="anActionFormElement"> > <html:options collection="yerSelectBox" > property="value" labelProperty="label" /> > </html:select> > > HTH, > > -= James > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]