Sometimes I think I understand how indexed properties work, but every time I use them I have to step back and think about it. I seem to recall having problems with having get and set method with the same name where the parameter and return types did not match. Instead of having overloaded versions of getEmploymentHistory, I would use unique names such as this:
public ArrayList<EmploymentFormBean> getEmploymentHistoryList()
public EmploymentFormBean getEmploymentHistoryItem(int index)
I would also remove the method setEmploymentHistory.
Struts will not call this method, but if you need to from your code then rename it addEmploymentHistory. I am not sure that will solve the problem, but it seems worth a try.
- Brent