Using the s:iterator tag and status attribute it's possible to display and update values of complex types within a collection.
For example, using an iterator tag,
<s:iterator value="results" status="status">
<s:hidden value="%{product.sku}" name="results[%{#status.index}].product.sku" />
<input type="checkbox" name="results[<s:property value="%{#status.index}" />].selected" <s:property value="%{selected}" />>
</s:iterator>
within a form tag, the submit action will update the list of results in the Action class, where my action class has
protected List<ProductBean> results;
with getters and setters, and my ProductBean has,
private Product product;
with getters and setters, and
private boolean selected;
/**
* @return the selected
*/
public String isSelected() {
return selected ? "checked" : "";
}
/**
* @param selected the selected to set
*/
public void setSelected(String selected) {
this.selected = selected == null || selected.equals("") ? false : true;
}
Note: If you find something useful, please leave a comment, thanks!
No comments:
Post a Comment