Never mind. Next time I'll search the archive before asking the question. The answer came from Craig McClanahan.
"Struts uses the naming design patterns of the JavaBeans specification. Therefore, if you have a property named "foo", it looks for methods getFoo() and setFoo(), while a method "fooBar" would get translated to "getFooBar()" and setFooBar()". You can also override these method names by providing a BeanInfo class for your bean -- see the JavaBeans spec for more information."