Summary
Tag name: <tr:setActionListener>
The setActionListener tag is a declarative way to allow an action source (<commandButton>, <commandLink>, etc.) to set a value before navigation. It is perhaps most useful in conjunction with the "processScope" EL scope provided by ADF Faces, as it makes it possible to pass details from one page to another without writing any Java code. This tag can be used both with ADF Faces commands and JSF standard tags. More generally, it can be used with any component at all that implements the standard ActionSource interface. Note that JSF comes with a <tr:setPropertyActionListener>, which does exactly the same.
Example:
This example shows a table with a "Show..." button. When the button is pressed, the following will happen:
- The value of "#{row}" will be retrieved - which corresponds to the current row in the table.
- That object will get stored as the "detail" property in process scope.
- The user will navigate to the "showDetail" outcome of this page (because of the "action" property on the <h:commandButton>).
<h:dataTable var="row" value="#{....}"> ... <h:column> <h:commandButton value="Show..." action="showDetail" ..> <tr:setActionListener from="#{row}" to="#{processScope.detail}"/> </h:commandButton> </h:column> </h:dataTable>