Details
Description
My Form looks like this:
<form ...>
<input type="hidden" name="invoices[0].id" value="24907" />
<input type="text" name="invoices[0].salesOrder" value="" />
<input type="hidden" name="invoices[1].id" value="24908" />
<input type="text" name="invoices[1].salesOrder" value="" />
<input type="hidden" name="invoices[2].id" value="24909" />
<input type="text" name="invoices[2].salesOrder" value="" />
...
...
</form>
My Action looks like this
/**
- A list of Invoices.
*/
private List<Invoice> invoices;
/**
- Sets invoices.
- @param invoices The invoices to set.
*/
public void setInvoices(final List<Invoice> invoices) { this.invoices = invoices; }
In struts 2.0.6 the form submits and works like expected. In struts 2.0.8 I get a null pointer when trying to access invoices in my action (basically it's not coming over). I've changed nothing but the struts.
Adding a conversion.properties file allowed me to submit the form successfully. According to the docs and previous versions of struts and webwork the Generics definition of Invoice should have been sufficient. Adding the new Element annotation did not solve the issue.