jsky
jsky

Reputation: 2217

How to use <s:submit> button with id in an iterated list in Struts 2?

How do I use a Struts' <s:submit> button to submit the specific id of an object in an iterated list?

<s:form action="actionDeleteBooking">
    <s:iterator var = "bookingList" value="bookings">
        <s:submit label="delete booking" value = "cancel booking" theme = "simple" id="bookingid"  />
    </s:iterator>
</s:form>

I can do it for a radio button:

<s:form action="actionConfirmBooking">
    <s:iterator var = "pathList" value="results">
        <s:iterator var = "flightList" value="pathList">
            <s:radio name="flightSelected" list="flightList" listKey = "flightid"   id = "flightid" value = "flightid"/>
        </s:iterator>
    </s:iterator>
    <s:submit label="Submit" />
</s:form>

Upvotes: 2

Views: 1466

Answers (2)

Roman C
Roman C

Reputation: 1

You can use <s:checkbox> tag for the items you want to delete. You should be able to do this, because you have already used a similar form with <s:radio> tag.

<s:form action="actionDeleteBooking">
   <s:iterator var = "bookingList" value="bookings">
       <s:checkbox name="bookingids" label="bookingid" />
   </s:iterator>
   <s:submit label="delete bookings" value = "cancel booking" theme = "simple"/>
</s:form>

Upvotes: 1

Andrea Ligios
Andrea Ligios

Reputation: 50203

if what you are trying to achieve is to have a submit button for each "row", submitting one value, then use multiple forms and an hidden field:

<s:iterator var = "bookingList" value="bookings">
    <s:form action="actionDeleteBooking">
        <s:hidden name="selectedItem" value="%{bookingid}" />
        <s:submit label="delete booking" value="cancel booking" theme="simple" />
    </s:form>
</s:iterator>

Otherwise use an <s:a />, or set a field with JavaScript, or describe better what you want.

Upvotes: 2

Related Questions