Thanks, that goes some way...but not all the way though. A common situation where a dynamic page displays 0....n items with different identifiers. For example, an item list is fetched from database, and page contains delete buttons for items 23, 67, 101 and 128. I do not think you can use this approach to solve that problem. You would have to magically create getDeleteItem23, getDeleteItem67....methods in your class.
How about this, Janne:
public final class ButtonCommand { private ButtonCommand() { }
public final static String getCommand(HttpServletRequest request) { Enumeration enum = request.getParameterNames(); String parameterName = null; while(enum.hasMoreElements()) { parameterName = (String)enum.nextElement(); if(parameterName.endsWith(".x")) { return parameterName.substring(0,parameterName.indexOf('.')); } } return parameterName; } }
Now, you just dynamically make your name attribute of the <input type='image'> button, or the property attribute of your <html:image> button be whatever command you want on a dynamic or static basis. You can deal with the logic of what to do with your commands:
String command = ButtonCommand.getCommand(request);
anyway you see fit. I don't use buttons with indexed (0, 1, 2, ... , n) values, so I don't need to worry about that. That is easy to do, of course.
Michael
Cool, eh?
Michael