Hi all, I have a bit of a problem grasping how to implement a seemingly simple thing with struts. What I want to do is have a JSP page listing items each with its own Delete or Edit button, like this:
Chocolate |Delete| |Edit| (index 0) Bananas |Delete| |Edit| " 1 Chips |Delete| |Edit| " 2 Both buttons should be images, which leads me to use the <html:image>-Tag. Now when one of these buttons gets clicked, I would ideally have "value" attributes set containing the index, so that I can differentiate on the server which button has been clicked. That is actually how I implemented it at first, and it works nicely under Mozilla. Unfortunately, IE does not send the "value" attribute's content, but only the deleteButton.x and deleteButton.y (or editButton.x/y) values indicating where a particular button has been clicked. Now I thought, "Ahh, that's what the indexed property on html:image is for! Using it ensures that the index gets transferred as part of the name of the button!" So I changed my form bean to contain one "editButtons" and one "deleteButtons" definition, both of type HtmlButton[]. The HtmlButton class simply accepts either x or y or a value, and assumes the button has been pressed if at least one of these is set, a state that can be queried via the pressed() method. [1] Unfortunately, all I get when clicking on one of the buttons is a ServletException in BeanUtils.populate, caused by an ArrayIndexOutOfBoundsException [2]. Is the approach completely wrong, or is there some way to set the length of the Arrays? I'm at a loss here and would really appreciate some help. Cheers, Thomas [1] This is actually a class taken from here: http://j2ee.lagnada.com/struts/html-buttons.htm [2] javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254) at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) [...] root cause: java.lang.ArrayIndexOutOfBoundsException at java.lang.reflect.Array.get(Native Method) at org.apache.struts.action.DynaActionForm.get(DynaActionForm.java:296) at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:475) at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:429) [...] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]