Submitting form's data to a java Set

2019-02-19 12:03发布

问题:

Is it possible to submit a form's data to a java Set in an action of Struts2?

Action code:

class TestAction extends ActionSupport{

 private Set<Integer> mySet = new LinkedHashSet<Integer>();

 public TestAction(){
 }

 public String test(){

  someMethod(mySet);

 }

  ... Getters/Setters ...

}

Form code:

<form action="test.action" >
 <input name="mySet[0]" />
 <input name="mySet[1]" />
 <input name="mySet[2]" />
 <submit />
</form>

回答1:

The Set is just a collection, and Struts2 has support for any type of collections internally. But for this type of collection you can't use indexes in your OGNL expressions. Try

<form action="test.action" >
 <input name="mySet" />
 <input name="mySet" />
 <input name="mySet" />
 <s:submit />
</form>