struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Berry" <>
Subject html:options list source question
Date Mon, 14 Jul 2003 03:39:02 GMT
After much googling and head-scratching, I finally have an html:options tag working on a jsp.
 The problem is that I don't know why one component of the solution is needed, and I was hoping
someone can explain it to me.
My ActionForm subclass, EditDeForm, has a pair of methods to provide the option list as part
of the form bean:

		public Collection getNumFmtOptions() {
		  ArrayList list = new ArrayList();
		  list.add(new LabelValueBean("None", "0"));
		  list.add(new LabelValueBean("Comma separated", "1"));
		  list.add(new LabelValueBean("Currency", "2"));
		  return list;
		public void setNumFmtOptions(Collection options) {
		  // No op, here to satisfy bean-ness.

The jsp page contains an html:form section linked via action mapping to the EditDeForm type.
 In it, there is a select/options section that looks like this:

		<html:select property="numFmt">
		  <html:options collection="numFmtOptions" 

I had thought that this would be enough to make it work.  The html:options is in the context
of an html:form that knows about the current form bean, and the form bean has a property numFmtOptions
that contains what is needed to populate the options list.  But when I tried just this, I
got a "cannot find bean" error on numFmtOptions.
The googling mentioned above finally revealed that I had to add this at the top of my jsp:

		<bean:define id="numFmtOptions"

My question is:  Why?  What is this additional definition for?  What information does it supply
that isn't already available to html:options inside the html:form context?
I'm happy that I have my code working, but I'd be even happier if I knew why it's working.
Craig Berry
Principal Architect
PortBlue Corp.
View raw message