In Struts 1, I used a map-enabled form to get dynamic field values.
public MyForm extends ActionForm { private final Map values = new HashMap(); public void setValue(String key, Object value) { values.put(key, value); } public Object getValue(String key) { return values.get(key); } }
Below is the code I used.
Jsp
<form action="/SaveAction.do"> <input type="text" name="value(dynamicNames)" value="some value"> </form>
Act
public class SaveAction extends ActionSupport implements ModelDriven<MyForm> { private MyForm myForm = new MyForm(); @Override public MyForm getModel() { return myForm; } public void setMyForm(MyForm myForm){ this.myForm = myForm; } public MyForm getMyForm(){ return myForm; } public String execute(){ MyForm formData = getMyForm();
The form
public MyForm { private final Map values = new HashMap(); public void setValue(String key, Object value) { values.put(key, value); } public Object getValue(String key) { return values.get(key); } }
How to achieve the same functionality in Struts 2?
source share