The Commons Bean Utilities that are used by Struts don't always handle overloaded methods correctly. (Bug 28358) This bug is supposedly fixed in later releases, but I still don't trust it. I'd Make sure that your indexed getter and setter have a different name than the non-indexed ones. In this example, I'd suggest changing the name of the non-indexed accessors to getBookBeans and setBookBeans while leaving the indexed accessors as getBookBean and setBookBean.
If you plan to use this bean in request scope, I'd suggest you carefully read this link and follow the instructions for giving your List "lazy initialization" capability. [ August 18, 2006: Message edited by: Merrill Higginson ]